Microsoft.Ccr.Core Namespace

Microsoft Robotics Class Reference

Classes

  Class Description
Public class Arbiter
Arbiter factory
Public class Causality
Logical context that flows across tasks

Remarks

Causalities greatly simplify partial failure handling, by providing a multi threaded version of structured exception handling. An exception port supplied within a causality can be used by any handler that was executed as a result of some root action. Causalities deal with joins (merge of causalities) and forks, enabling a simple model for hierarchical handling of errors in a concurrent setting
Public class CcrServiceBase
Base CCR class
Public class Choice
The choice arbiter will arbitrate between N child receivers (branches) and only allow one to proceed
Public class ConcurrentReceiverGroup
Receivers with user delegates that can run concurrently with each other
Public class Dispatcher
Implementation of the CCR Task Dispatcher/Scheduler
Public class DispatcherQueue
Special variant of a typed Port for enqueing and scheduling CCR Tasks
Public class DispatcherQueueExtensions
CCR DispatcherQueue Class Extensions
Public class EmptyValue
Utility type, with a singleton instance for use in signalling applications where no values need to be communicated
Public class ExclusiveReceiverGroup
Receivers with user delegates that must run exclusive to each other and any receiver in a Concurrent group
Public class Interleave
The Interleave arbiter is a generalization of reader/writer lock style synchronization
Public class InterleaveReceiverGroup
Receiver group
Public class IterativeTask
Zero argument Task instance associated with an iterator handler
Public class IterativeTask< (Of < ( <'T0> ) > ) >
Container for iterator handlers and their arguments
Public class IterativeTask< (Of < ( <'T0, T1> ) > ) >
Container for iterator handlers and their arguments
Public class IterativeTask< (Of < ( <'T0, T1, T2> ) > ) >
Container for iterator handlers and their arguments
Public class JoinReceiver
Join implementation across multiple ports
Public class JoinReceiverTask
Shared logic for join arbiters
Public class JoinSinglePortReceiver
Join receiver that waits for N items all on the same port
Public class MultipleItemGather
Collects N messages from K ports, then executes a task passing K typed collections of messages
Public class MultipleItemReceiver
Collects N messages from N ports, then executes a task passing a collection with N messages
Public class Port< (Of < ( <'T> ) > ) >
Type safe message queue and receiver attach point for the CCR.
Public class PortExtensions
Port extension methods for coordination primitive creation
Public class PortNotFoundException
Thrown when a message instance of incompatible type is posted on a Port instance
Public class PortSet
Multiple Queue Port composed out of multiple Port

Interfaces

  Interface Description
Public interface ICausality
Context for propagating failure and coordination ports across tasks
Public interface IPort
Core interface abstracting CCR single type ports
Public interface IPortReceive
Receiver registration and dequeuing methods for ports
Public interface IPortSet
Required interface for multiple type ports with independent message queues
Public interface ITask
Container for executable CCR code

Remarks

Implementation of the Task interface allows code to execute in the context of the CCR dispatcher. Arbiters, receive thunks, and unguarded user delegates can use ITask to execute in arbitrary context.

Delegates

  Delegate Description
Public delegate Handler
Closure signature for message handler.
Public delegate Handler< (Of < ( <'T0> ) > ) >
Closure signature for message handler.
Public delegate Handler< (Of < ( <'T0, T1> ) > ) >
Closure signature for message handler.
Public delegate Handler< (Of < ( <'T0, T1, T2> ) > ) >
Closure signature for message handler.
Public delegate IteratorHandler
Closure signature for iterator-based message handler.
Public delegate IteratorHandler< (Of < ( <'T0> ) > ) >
Closure signature for iterator-based message handler.
Public delegate IteratorHandler< (Of < ( <'T0, T1> ) > ) >
Closure signature for iterator-based message handler.
Public delegate IteratorHandler< (Of < ( <'T0, T1, T2> ) > ) >
Closure signature for iterator-based message handler.
Public delegate VariableArgumentHandler< (Of < ( <'T> ) > ) >
A typed delegate with a variable number of typed arguments preceding an array of instances of the same type.
Public delegate VariableArgumentHandler< (Of < ( <'T0, T> ) > ) >
A typed delegate with a variable number of typed arguments preceding an array of instances of the same type.

Remarks

Used as the continuation to join variable and joinarray

Enumerations

  Enumeration Description
Public enumeration DispatcherOptions
Dispatcher configuration options
Public enumeration InterleaveReceivers
Classification of interleave receiver groups
Public enumeration TaskExecutionPolicy
Specifies dispatcher queue task scheduling behavior