2.Message Transport
Each component needs a Message Transport service for sending and receiving messages. Message Transport service connects to Node Manager service through local socket. Messages from the component are routed by Node Manager service.
Message Transport service becomes READY when Node Manager Ready messages are received. When READY, Message Transport service can send messages to Node Manager service, and post received messages to services of the component.
The Message Transport service periodically sends Query Link messages to the components that it sends messages to. The recipient components reply Report Link messages that allow the Message Transport to calculate the round-trip time to the components.
Require: none
Inherit from: none
2.1 Service Behavior
2.1.1 State Diagram
Figure 1 Message Transport State Diagram
2.1.2 State Actions
State | Actions |
---|---|
CONNECT |
|
STAND_BY |
|
READY |
|
2.1.3 Internal Events
Event | Parameters | Purpose |
---|---|---|
ieLSConnectChange | Connected = [true | false] | Indicate local socket connection state. |
ieNodeManagerReady | Ready = [true | false] | Indicate Node Manager Ready state. |
ieSendMessage | Request to send the message | |
ieReceiveMessage | Dispatch received messages |
2.1.4 Transitions
Transition | Trigger | Condition | Action |
---|---|---|---|
A | ieLSConnectChange | Connected = true | |
B | ieLSConnectChange | Connected = false | |
C | ieNodeManagerReady | Ready = true | |
D | ieNodeManagerReady | Ready = false | |
E | ieLocalSocketConnect | Connected = false |
2.2 Protocol
2.2.1 Incoming Message Set
# | ID | Message |
---|---|---|
1 |
H:0x00000001 L:0x00000102 |
Report Link |
2 |
H:0x00000001 L:0x00000104 |
Node Manager Ready |
2.2.2 Outgoing Message Set
# | ID | Message |
---|---|---|
1 |
H:0x00000001 L: 0x00000101 |
Query Link |
2 |
H:0x00000001 L: 0x00000103 |
Component Ready |
2.3 Parameters
- CYCLEINTERVAL double, time interval in seconds of each cycle, default=0.1
- LOCALSOCKETFILEPATH string, local socket file path, default=”/tmp/ulils”.
- CONNECTRETRYWAIT double, time in seconds to wait before making new local socket connection, default=2.0
- LINKTESTINTERVAL double, time interval in seconds for checking the message round trip time between components, default=150.0.
- LINKTESTDURATION double, time interval in seconds that the link test proceeds, default=5.0
- NODEMANAGERREADYTIMEOUT double, timeout in seconds for not receiving the node manager ready messages, default=5.0.
- COMPREADYRATE double, time interval in seconds for sending comp ready message, default=1.0.