From: Huston <hu...@us...> - 2002-03-08 16:10:14
|
> It appears that MessageStatus is *just* for keeping track of which > messages have been sent for the purposes of verifying things like "does > this incoming RPY correspond to a previously sent outoing MSG?", and as > such, we need to keep the following information in a MessageStatus queued > up in sentMSGQueue: > > *status of the message (e.g. sent, responded, etc.. maybe we have to add > "queued, but not completely sent") > > *replylistener (because someone needs to be handed replies to a particular > outgoing msg) > > * msgno (for checking that a RPY/ANS/NUL received corresponds to the > oldest outgoing MSG not yet completley responded to) > > > I don't see any need for any other info in the MessageStatus, do you guys? I think we could get by with that. The only reason the other fields are there are for convienience. > There is a slight twist - the channel only adds outgoing messages to a > queue to be written out. I'm thinking we should add two more states for a > message to be in (besides the 5 MESSAGE_STATUS_* there are now): > > MESSAGE_STATUS_QUEUED -- its in the outgoing queue and no frames have been > written out from it yet > > MESSAGE_STATUS_PARTIALLY_SENT -- its in the outgoing queue and some frames > of the message have been sent out, but its not completely written out. > > I actually don't know if we'll need to check for these states (they are > functionally equivalent to MESSAGE_STATUS_NOT_SENT, no?), but they will be > extremely useful for debugging and logging. Sounds reasonable. --Huston |