Revision history [back]

click to hide/show revision 1
initial version

I pulled up the code specified in the error BusObject.cc. You are getting this error because you have specified the signal is a sessionless signal.

@BusSignal(description="Test released", sessionless=true) Then you are sending the signal out as a GlobalBroadcast signal

protected SignalEmitter emitter = new SignalEmitter(AlljoynService.getBusObject(),SignalEmitter.GlobalBroadcast.On);

Sessionless signals and GloabalBroadcast signals are different types of signals.

A sessionless signal is a signal delivered to a routing node. The routing node stores the signal and will forward that signal to other nodes that have the correct match rules for the signal. Sessionless signals are good for infrequent updates. Sessionless signals remain on the routing node so can be seen even if you did not have a connection to that routing node when the signal was sent.

GloabalBroadcast signals are sent to all peers connected to the routing node. Any peer that has the correct match rules will see the signal when it is sent. Generally GloabalBroadcast signals are discouraged because the create large spikes in network traffic as the signal tries to propagate through the system. If the peers are not connected when the signal is sent they will not get the signal.

To fix your error you will need to change your signal so its not sessionless or only emit the signal as a sessionless signal.

I would encourage you to try to figure out session based signals emitters.

I pulled up the code specified in the error BusObject.cc. You are getting this error because you have specified the signal is a sessionless signal.

@BusSignal(description="Test released", sessionless=true)

Then you are sending the signal out as a GlobalBroadcast signal

protected SignalEmitter emitter = new SignalEmitter(AlljoynService.getBusObject(),SignalEmitter.GlobalBroadcast.On);

Sessionless signals and GloabalBroadcast signals are different types of signals.

A sessionless signal is a signal delivered to a routing node. The routing node stores the signal and will forward that signal to other nodes that have the correct match rules for the signal. Sessionless signals are good for infrequent updates. Sessionless signals remain on the routing node so can be seen even if you did not have a connection to that routing node when the signal was sent.

GloabalBroadcast signals are sent to all peers connected to the routing node. Any peer that has the correct match rules will see the signal when it is sent. Generally GloabalBroadcast signals are discouraged because the create large spikes in network traffic as the signal tries to propagate through the system. If the peers are not connected when the signal is sent they will not get the signal.

To fix your error you will need to change your signal so its not sessionless or only emit the signal as a sessionless signal.

I would encourage you to try to figure out session based signals emitters.