Sirikata
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
Sirikata::XDP::Endpoint< IdentifierType > Class Template Reference

Function signature for an ODP message handler. More...

#include <Defs.hpp>

Collaboration diagram for Sirikata::XDP::Endpoint< IdentifierType >:

List of all members.

Classes

class  Hasher

Public Types

typedef IdentifierType Identifier

Public Member Functions

 Endpoint (const SpaceID &space, const Identifier &id, const PortID &port)
bool operator== (const Endpoint &rhs) const
bool operator!= (const Endpoint &rhs) const
bool operator> (const Endpoint &rhs) const
bool operator>= (const Endpoint &rhs) const
bool operator< (const Endpoint &rhs) const
bool operator<= (const Endpoint &rhs) const
bool matches (const Endpoint &rhs) const
 Returns true if the endpoint matches this one, i.e.
const SpaceIDspace () const
const Identifierid () const
const PortIDport () const
String toString () const

Private Member Functions

 Endpoint ()

Private Attributes

SpaceID mSpace
Identifier mID
PortID mPort

Detailed Description

template<typename IdentifierType>
class Sirikata::XDP::Endpoint< IdentifierType >

Function signature for an ODP message handler.

Takes a message header, containing the ODP routing information, and a MemoryReference containing the payload. A fully qualified endpoint, including the unique identifier and port. Note that this does not have to be bound to unique values. For instance, to specify coverage of all ports, PortID::any() could be used. However, depending on context, the use of non-specific values may be invalid.

Endpoints always include a space, unique identifier, and port. This class is templated on the identifier part, which must be comparable, have a Hasher nested class, and have static any() and null() methods.


Member Typedef Documentation

template<typename IdentifierType>
typedef IdentifierType Sirikata::XDP::Endpoint< IdentifierType >::Identifier

Constructor & Destructor Documentation

template<typename IdentifierType>
Sirikata::XDP::Endpoint< IdentifierType >::Endpoint ( const SpaceID space,
const Identifier id,
const PortID port 
) [inline]

Reimplemented in Sirikata::ODP::Endpoint.

template<typename IdentifierType>
Sirikata::XDP::Endpoint< IdentifierType >::Endpoint ( ) [private]

Member Function Documentation

template<typename IdentifierType>
const Identifier& Sirikata::XDP::Endpoint< IdentifierType >::id ( ) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::matches ( const Endpoint< IdentifierType > &  rhs) const [inline]

Returns true if the endpoint matches this one, i.e.

if all components match, either precisely or because one of them is any().

template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator!= ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator< ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator<= ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator== ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator> ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
bool Sirikata::XDP::Endpoint< IdentifierType >::operator>= ( const Endpoint< IdentifierType > &  rhs) const [inline]
template<typename IdentifierType>
const PortID& Sirikata::XDP::Endpoint< IdentifierType >::port ( ) const [inline]
template<typename IdentifierType>
const SpaceID& Sirikata::XDP::Endpoint< IdentifierType >::space ( ) const [inline]
template<typename IdentifierType>
String Sirikata::XDP::Endpoint< IdentifierType >::toString ( ) const [inline]

Member Data Documentation

template<typename IdentifierType>
Identifier Sirikata::XDP::Endpoint< IdentifierType >::mID [private]
template<typename IdentifierType>
PortID Sirikata::XDP::Endpoint< IdentifierType >::mPort [private]
template<typename IdentifierType>
SpaceID Sirikata::XDP::Endpoint< IdentifierType >::mSpace [private]

The documentation for this class was generated from the following file: