[JDEV] id attr in message packets
Sean Wheeler
swheeler at media.mit.edu
Sun Jul 14 13:23:20 CDT 2002
On Sun, 14 Jul 2002, Jeremy Nickurak wrote:
>
> The id attribute is intended to be used so that the sender and receiver
> can refer to particular messages. For example, someone might implement a
> "addendum" message type/namespace that changes some element of the
> previous message:
>
> <message id="3" type="addendum" from="bar at media" to="foo at media">
> <x xmlns="jabber:x:addendum">
> <append id="1">
> See also http://somepage.com/ for more details.
> </append>
> </x>
> </message>
>
> That way, the <append> tag's "id" attribute can be uniquesly associated
> with a particular mesage bar at media has already sent to foo at media.
Thanks!
Yes, this is precisely the kind of thing i'm looking for. I also need the
ability to refer to the reply that foo sends, and I can't really figure
out how to do this without some non-standard crutch.
Maybe a rough ascii diagram helps.
Messages sent from:
foo bar foo bar foo bar
id=1 id=2 id=3 id=4 id=5 id=6
thread=a thread=a thread=a thread=a thread=a thread=a
So in this scheme we can identify messages 1-6 as a group by the thread
tag. As you suggest, we can also refer to each particular message in the
stream.
But this is problematic in a non-dialogic interchange if we have something
like
foo bar bar
id=1 id=2 id=3
thread=a thread=a thread=a
It is unclear whether messages 2 or 3 are a reply to message 1 or not.
The alternate approach is
foo bar bar
id=1 id=1 id=2
thread=a thread=a thread=a
Here it's clear that bar sends a reply and another message that is not a
reply. If I'm referring to particular messages, I would have to refer to
message id 1 from bar, as opposed to message id 1 from foo. This actually
might be a good thing, because I might want to append to an interchange as
well as a particular message.
On the other hand, what if bar sends more than one reply?
foo bar bar bar
id=1 id=1 id=1 id=2
thread=a thread=a thread=a thread=a
So the first 2 messages from bar are replies to foo, the last is
unrelated. Now, however, I can't refer to which reply, since they have
the same id and are from the same sender.
Sean
More information about the JDev
mailing list