org.teleal.cling.protocol.async
Class ReceivingNotification

java.lang.Object
  extended by org.teleal.cling.protocol.ReceivingAsync<IncomingNotificationRequest>
      extended by org.teleal.cling.protocol.async.ReceivingNotification
All Implemented Interfaces:
java.lang.Runnable

public class ReceivingNotification
extends ReceivingAsync<IncomingNotificationRequest>

The following was added to the UDA 1.1 spec (in 1.3), clarifying the handling of messages:

"If a control point has received at least one 'byebye' message of a root device, embedded device, or service, then the control point can assume that all are no longer available."

Of course, they contradict this a little later:

"Only when all original advertisements of a root device, embedded device, and services have expired can a control point assume that they are no longer available."

This could mean that even if we get 'byeby'e for the root device, we still have to assume that its services are available. That clearly makes no sense at all and I think it's just badly worded and relates to the previous sentence wich says "if you don't get byebye's, rely on the expiration timeout". It does not imply that a service or embedded device lives beyond its root device. It actually reinforces that we are free to ignore anything that happens as long as the root device is not gone with 'byebye' or has expired.


Constructor Summary
ReceivingNotification(UpnpService upnpService, IncomingDatagramMessage<UpnpRequest> inputMessage)
           
 
Method Summary
protected  void execute()
           
 
Methods inherited from class org.teleal.cling.protocol.ReceivingAsync
getFirstHeader, getInputMessage, getUpnpService, run, toString, waitBeforeExecution
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReceivingNotification

public ReceivingNotification(UpnpService upnpService,
                             IncomingDatagramMessage<UpnpRequest> inputMessage)
Method Detail

execute

protected void execute()
Specified by:
execute in class ReceivingAsync<IncomingNotificationRequest>


Copyright © 2010 Teleal GmbH, Switzerland. All Rights Reserved.