[elvin-discuss] UDP mode

Andrew Davison andrew at infradig.com
Tue May 1 00:32:45 CDT 2007


Thanks, that's what I thought. UDP is workable, though unreliable, as 
long as the client uses the same local port for sending throughout the 
session. It's a pity that NotifyEmit doesn't have a response and that 
NotifyDeliver doesn't have a sequence # per session.

Andrew

David Arnold wrote:
> -->"Andrew" == Andrew Davison <andrew at infradig.com> writes:
>
>   Andrew> Playing around in UDP mode and noticed that Sticker then does
>   Andrew> not bother with ConnRqst/DisconnRqst messages, just blindly
>   Andrew> starts adding subscriptions and doing notifies. Is this right?
>
> err, no.
>
> in terms of the abstract protocol:
>
> there is a UNotify packet, which is the only packet allowed to be used
> outside a logical connection established using ConnRqst/ConnRply.  it is
> intended for extremely light-weight producers, such as environmental
> sensors, etc.
>
> you cannot use UNotify within an existing logical connection, and you
> cannot use subscriptions, quenches, TestConn/ConfConn, QosRqst/QosRply,
> SecRqst/SecRply, etc, without a logical connection.
>
> when a router accepts an incoming physical connection, it waits for
> either a ConnRqst, UNotify or a timeout.  anything else should cause the
> physical connection to be dropped.
>
>
> channels can be established over any reliable, two-way transport.  by
> default, this is TCP.
>
> the Mantara/DSTC code implements a fairly bogus UDP protocol module.
> it's bogus because it doesn't deal with dropped packets (and maybe not
> with packets larger than 64K?), and to safely implement the abstract
> protocol, it should.
>
> we have occasionally talked about a "udp2" protocol which addressed
> these failings, but it's never seemed worthwhile.
>
>
> i haven't seen the behaviour you describe from Sticker before.  Sticker
> uses Mantara's Java-Elvin classes, so i'll take a look when i get a
> chance.
>
>
>
>
>
> d
>
>
>   



More information about the elvin-discuss mailing list