JoinReceiver Class
Microsoft Robotics Class Reference
Join implementation across multiple ports
Namespace: Microsoft.Ccr.Core
Assembly: Microsoft.Ccr.Core (in Microsoft.Ccr.Core.dll) Version: 4.0.261.0 (4.0.261.0)
Syntax
public class JoinReceiver : JoinReceiverTask
Remarks
The join arbiter will attach individual receivers on each port participating in the join. As messages get posted in the ports, the parent arbiter (an instance of JoinReceiver) will determine if it has messages across all ports. Without actually consuming the messages It will schedule a commit phase and try to extract, using the Test() method on the ports, all the messages required for the join to complete. If all messages are retrived, commit succeeds but the arbiter will still ask its parent (since join can be nested under choice or interleave) if it can proceed scheduling the user delegate. If it can, it schedules a task with all the messages as arguments. If it fails, it will call UnrollPartialCommit to put the messages back in their original ports
Inheritance Hierarchy
System. . :: . .Object
Microsoft.Ccr.Core. . :: . .TaskCommon
Microsoft.Ccr.Core.Arbiters. . :: . .ReceiverTask
Microsoft.Ccr.Core. . :: . .JoinReceiverTask
Microsoft.Ccr.Core..::..JoinReceiver