Savarese Software Research Corporation

ssrc::spread Namespace Reference

The ssrc::spread namespace contains group communication classes that wrap the Spread Toolkit's C API. More...

Namespaces

namespace  detail
 

The ssrc::spread::detail namespace contains classes that are used internally by ssrc::spread classes, but are not meant for use by library users.


Classes

class  BaseMessage
 BaseMessage is an abstract class defining the operations shared in common by Message and ScatterMessage. More...
class  Error
 Error is a container for a Spread error code and is thrown by the library in only truly exceptional circumstances. More...
class  BufferSizeError
 BufferSizeError is a container for a BufferTooShort or GroupTooShort errror, reporting the buffer size required for success. More...
class  GroupList
 GroupList is a container for Spread group names. More...
class  MembershipInfo
 MembershipInfo stores information about group membership messages. More...
class  Message
 Message is a reusable and resizable data buffer for sending and receiving messages. More...
class  ScatterMessage
 ScatterMessage is a reusable container of multiple in-place data buffers. More...

Enumerations

enum  {
  MaxSizePrivateName = MAX_PRIVATE_NAME, MaxSizeProcessName = MAX_PROC_NAME, MaxSizeGroupName = MAX_GROUP_NAME, MinValidGroupNameChar = 36,
  MaxValidGroupNameChar = 126, GroupNameSeparatorChar = 35
}

Functions

std::pair< string, string > split_private_group (const string &private_group)
 Splits a private group name into its private name and process name components.

Detailed Description

The ssrc::spread namespace contains group communication classes that wrap the Spread Toolkit's C API.


Enumeration Type Documentation

anonymous enum
Enumerator:
MaxSizePrivateName 

Maximum number of characters in a private name.

This is inconsistent with MaxSizeProcessName and MaxSizeGroupName (which are max + 1), but it's how the Spread Toolkit does it; so we don't deviate, even though we'd rather they all be consistently defined as maximum values.

MaxSizeProcessName 

Maximum number of characters in the name of a daemon process + 1.

MaxSizeGroupName 

The maximum number of characters in a group name + 1.

MinValidGroupNameChar 

The minimum value of a valid group name character.

MaxValidGroupNameChar 

The maximum value of a valid group name character.

GroupNameSeparatorChar 

The value of the group name character separator.

Definition at line 41 of file GroupList.h.


Function Documentation

std::pair<string,string> ssrc::spread::split_private_group ( const string &  private_group  )  [inline]

Splits a private group name into its private name and process name components.

This functions assumes it is provided a valid private group name, otherwise its behavior is undefined.

Parameters:
private_group The private group name to split.
Returns:
A std::pair<string,string> where the first element is the private name component and the second element is the process name component.

Definition at line 74 of file GroupList.h.

References GroupNameSeparatorChar.

Referenced by Mailbox::Mailbox().


Savarese Software Research Corporation
Copyright © 2006-2010 Savarese Software Research Corporation. All rights reserved.