iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Module and poster/checker/subscriber ports

Module is the basic computation unit in NRT. Modules have ports through which they can communicate with other modules via Message objects.

Classes

class  nrt::MessagePosting< Port, Msg, Ret >
 A Posting port is a unique binding of a sent Message type and a returned Message type to a port class. More...
 
class  nrt::MessageChecking< Port, Msg >
 A Checking is a unique binding of a Message type to a port class. More...
 
class  nrt::MessageSubscription< Port, Msg, Ret >
 A Subscription is a unique binding of a received Message type and a returned Message type to a port class. More...
 
class  nrt::MessagePosterCoreBase
 Base class for a MessagePoster. More...
 
class  nrt::MessagePosterCore< Posting >
 Module objects which derive from MessagePoster will be allowed to post Message objects. More...
 
class  nrt::SplitMessagePoster< T >
 Split message poster, implemented by MessagePoster ports that use splittable CompositeMessage messages. More...
 
class  nrt::MessageCheckerCoreBase
 Base class for MessageChecker. More...
 
class  nrt::MessageCheckerCore< Checking >
 Module objects which derive from MessageChecker will be allowed to post Message objects. More...
 
class  nrt::MessageSubscriberCoreBase
 Base class for a MessageSubscriber. More...
 
class  nrt::MessageSubscriberCore< Subscription >
 Core class for the variadic MessageSubscriber template. More...
 
class  nrt::SplitMessageSubscriber< T, true >
 Subscriber helper class for split subscriptions. More...
 
class  nrt::SplitMessageSubscriber< T, false >
 Subscriber helper class for split subscriptions. More...
 
class  nrt::MessagePoster< Poster, Tail...>
 MessagePoster class. More...
 
class  nrt::MessageChecker< Checker, Tail...>
 Module objects which derive from nrt::MessageChecker<Checking> will be allowed to check() for Message objects. More...
 
class  nrt::MessageSubscriber< Subscriber, Tail...>
 Module objects which derive from nrt::MessageSubscriber<Subscriber> will subscribe to matching Posters. More...
 
class  nrt::Module
 Base class for a Module. More...
 
struct  nrt::ModuleUID
 Type for Module unique ID data. More...
 
class  nrt::ModuleBase
 Base class for Module. More...
 

Modules

 Results of post and check actions
 

Macros

#define NRT_DECLARE_MESSAGEPOSTER_PORT(PortName, MsgType, RetType, Description)
 Convenience macro to define a Poster using CRTP. More...
 
#define NRT_DECLARE_MESSAGECHECKER_PORT(PortName, MsgType, Description)
 Convenience macro to define a Checker using CRTP. More...
 
#define NRT_DECLARE_MESSAGESUBSCRIBER_PORT(PortName, MsgType, RetType, Description)
 Convenience macro to define a Subscription using CRTP. More...
 

Enumerations

enum  nrt::MessageCheckerPolicy { nrt::MessageCheckerPolicy::Any, nrt::MessageCheckerPolicy::Unseen, nrt::MessageCheckerPolicy::AnyBlock, nrt::MessageCheckerPolicy::UnseenBlock }
 Policy flag that can be passed to check() to indicate what to check for and how. More...
 
enum  nrt::ModuleParamPort { nrt::ModuleParamPort::Poster, nrt::ModuleParamPort::Checker, nrt::ModuleParamPort::Subscriber }
 Module Parameter port type, used to create ports in Modules for Parameters. More...
 

Macro Definition Documentation

#define NRT_DECLARE_MESSAGEPOSTER_PORT (   PortName,
  MsgType,
  RetType,
  Description 
)

Convenience macro to define a Poster using CRTP.

Use this macro to define a posting.

See Also
MessagePoster
Examples:
tests/test-Module.C, tests/test-ResultsSyntax.C, and tests/test-split-messages.C.
#define NRT_DECLARE_MESSAGECHECKER_PORT (   PortName,
  MsgType,
  Description 
)

Convenience macro to define a Checker using CRTP.

Use this macro to define a checking.

See Also
MessageChecker
Examples:
tests/test-Module.C, and tests/test-ResultsSyntax.C.
#define NRT_DECLARE_MESSAGESUBSCRIBER_PORT (   PortName,
  MsgType,
  RetType,
  Description 
)

Convenience macro to define a Subscription using CRTP.

Use this macro to define a subscription.

See Also
MessageSubscription
Examples:
tests/test-Module.C, tests/test-ResultsSyntax.C, and tests/test-split-messages.C.

Enumeration Type Documentation

Policy flag that can be passed to check() to indicate what to check for and how.

A policy flag for MessageChecker that controls which messages will be returned, as well as the blocking behavior of a call to check().

Enumerator
Any 

Any messages, regardless of whether they have already been returned to a previous call to check()

Unseen 

Only unseen messages, those returned to a previous call to check() will be skipped.

AnyBlock 

Like MessageCheckerPolicy::Any but will block until at least one result is available.

UnseenBlock 

Like MessageCheckerPolicy::Unseenbut will block until at least one result is available.

Definition at line 66 of file ModulePortHelpers.H.

enum nrt::ModuleParamPort
strong

Module Parameter port type, used to create ports in Modules for Parameters.

Enumerator
Poster 

Poster parameter port type.

Checker 

Checker parameter port type.

Subscriber 

Subscriber parameter port type.

Definition at line 76 of file ModulePortHelpers.H.