Multiple Sessionless Signal

asked 2015-10-26 20:19:33 -0700

congngale gravatar image

Hi all,

Currently, I'm working on a project which bases on Alljoyn framework to deliver messages among service applications. The service application will send 2 messages(sessionless signal) to all other service applications when it starts.

Because the sessionless signal is only cache 1 message, so the service applications only receive the second message. I also thought about join session for all service applications but It's not optimize for my project because I don't need a peer to peer connection.

I also try ALLJOYN_FLAG_GLOBAL_BROADCAST instead of ALLJOYN_FLAG_SESSIONLESS to test but the global broadcast flag not work if 2 service applications run on 2 instance. Anyone can give me a hint, I will appreciate that :D

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-10-27 12:09:36 -0700

praveenb gravatar image

updated 2015-10-27 12:10:02 -0700

Sessionless signals are emitted by leaf nodes and get stored on routing nodes. The routing nodes then forward these signals to other leaf nodes which express an interest for that information. In most scenarios, parties interested in this information care for the most recent value (as opposed to older historical values). This is a publish-subscribe mode of communication.

Suppose you have an entity, A, which is an information emitter. A encodes the information into a sessionless message and emits it. This message is received by the routing node and gets stored. Lets say, after sometime, the information gets updated due to changes in the environment / some external events. A would send out a second sessionless message with updated information. This piece of new information is intended to replace the earlier information. The routing node would then replace its copy with the freshly received message from A.

In AllJoyn, the routing node identifies a sessionless message as a combination of the following:

  • Object path
  • Interface
  • Member

If your application has two pieces of information that you want to emit, then you can consider the following options:

  • Create two different members, or two different interfaces or two different object paths and send out two semantically different sessionless signals. The guidelines for good interface / member design are made available by Interface Review Board.
  • Use a different signature for your sessionless signal to include both pieces of information. For example, if you have a string and a boolean, you can have your sessionless signal member signature as sb.
edit flag offensive delete publish link more


Thank for your answer, I got it, I will create a new member to resolve this problem.

congngale ( 2015-10-27 19:36:58 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2015-10-26 20:19:33 -0700

Seen: 521 times

Last updated: Oct 27 '15