Re: [gupnp] handling of sequence numbers in gupnp-service-proxy.c


On Wed, 2009-03-25 at 20:04 +0200, Zeeshan Ali (Khattak) wrote:

> > If we receive messages out-of-order, does that really mean that we have
> > missed a message? Isn't it possible that the message order is changed
> > due to asynchronous code?
>   No, that will only happen because of some bug in libsoup since
> SoupServer is guaranteed to call the server_handler for each message
> synchronously as they arrive (assuming they are on the same
> connection, which afaik is true in our case). I am telling you this
> after confirming my assumption with Dan Winship on IRC.

The sender in our case is an AVTransportService implemented by means of
GUPnPService. So I guess we can assume that we are one the same
connection. I can also rule out thread issues, all calls to
gupnp_service_notify() are done from idle handlers in the main-loop.

I know that usually an AVTransportService only has one evented variable.
But the spec doesn't forbid that another evented variable is added for
which notifications can be requested, does it?

> > In the cases where we observed this, the
> > Service sent out a LastChange event immidiately followed by much simpler
> > notification event. It looks like the notification event arrived at the
> > ServiceProxy before the LastChange event.
>    Then there must be a bug in libsoup?

I guess we will have to do some more debugging then. Perhaps I can make
up a simple test case to illustrate the problem.

For now we have removed the code in GUPnPServiceProxy that discards the
message. IMO it is completely spec conformant to do that. It doesn't
state that the message has to be discarded, does it?


To unsubscribe send a mail to gupnp+unsubscribe\

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]