DavidXanatos, on Dec 23 2006, 11:53 AM, said:
When we have a part complete that the remote cleint wants on his reask we only need to send him part status no crumb status as at this point for him it _only_ mathers do we have somethink vor him or not, it is irrelevant is it a part or a crumb.
...
I hope this is clear enough explained
now it's better because you finaly explained why you proposed such design and i have a different opinion in thak case. IMO the crumbs status information is not only matter of two clients you and him, but whole network. Look how part status information is used. By request of the next part all selection algorithms are using availability information or in other words part status from another clients. So IMO the crumbs status information should be used same way, i.e. this info supposed to help us to choose the part properly.
DavidXanatos, on Dec 23 2006, 11:53 AM, said:
Thats to the reask part.
In case he gets an upload slot we have to send to him our complete crumb map in order to allow him to choice the crumbs/parts he needs the most.
As you wrote above the crums status should be sended in 2 cases:
1) on normal reask if we detected that remote client does not need any part from us,
2) on gettig an upload slot.
IMO the sending of the crumb status is redundand because:
1) Since we don't know what crumbs the remote client already have we need to send him an info about all crumbs. So the client will have already an info about whole status
2) If client got an upload invitation from NNS sources (no parts & no crumbs to request base on previus reask) he must to request the current status (not another way around, i.e. spaming with crumbs info for whole on upload invitation)
BTW, David, Merry Christmas!