From: Gabe W. <gw...@wa...> - 2002-03-08 03:24:27
|
Answering my own question, please confirm: 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? 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. Make sense? -Gabe On Thu, 7 Mar 2002, Gabe Wachob wrote: > Guys- > Can someone remind me of why MessageStatus exists? It seems to add > a replylistener and status to a message, and then seems to (I believe in > error) associate separate channel, data, and answerno with the underlying > message. > > Is the MessageStatus cruft or what? I am going to whack it and > move everything into the Message unless I hear something very soon. I'm > trying to get channel to work, and mostly that means untangling sentToPeer > to work with my architecture. MessageStatus is deeply woven in there and > its time to figure out if we need it. > > -Gabe > > -- Gabe Wachob gw...@wa... Personal http://www.wachob.com CTO, WiredObjects http://www.wiredobjects.com |