Savarese Software Research Corporation
Caller.h File Reference

This header defines the Caller class and Wisp communication protocol support classes. More...

#include <ssrc/spread.h>
#include <ssrc/wisp/protocol/ServiceProtocol.h>
#include <ssrc/wisp/utility/make_smart_ptr.h>
#include <queue>
#include <sstream>
#include <stdexcept>
#include <tuple>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/mem_fun.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/composite_key.hpp>
Include dependency graph for Caller.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct   ssrc::wisp::protocol::detail::VoidReturnType
  An empty structure used to represent a void return type for Wisp calls. More...
 
struct   ssrc::wisp::protocol::CallTraits< CallerType, ParameterType, ReturnType >
  The three-parameter CallTraits template defines all the type information characterizing a TwoWay call. More...
 
struct   ssrc::wisp::protocol::CallTraits< CallerType, ParameterType, detail::VoidReturnType >
  The two-parameter CallTraits template defines all the type information characterizing a OneWay call. More...
 
class   ssrc::wisp::protocol::CallException
  A CallException is thrown when a call cannot complete because of an unexpected condition. More...
 
struct   ssrc::wisp::protocol::CallHeader
  Every call is described by a CallHeader followed by a message. More...
 
struct   ssrc::wisp::protocol::MessageInfo
  Stores all information associated with a received call, including the raw message data. More...
 
class   ssrc::wisp::protocol::Caller< PT >
 
class   ssrc::wisp::protocol::Caller< PT >::Future< ReturnType >
 

Namespaces

  ssrc::wisp
  The ssrc::wisp namespace is an umbrella for the namespaces that implement the Wisp development framework.
 
  ssrc::wisp::protocol
  The protocol namespace contains classes that define the framework for implementing and accessing Wisp service protocols.
 
  ssrc::wisp::protocol::detail
  The protocol::detail namespace defines implementation-specific structures that are not intended for use by library client code.
 

Macros

#define  WISP_ONE_WAY_CALL(caller, method)
  Defines the CallTraits for a one-way call. More...
 
#define  WISP_TWO_WAY_CALL(caller, method, result)
  Defines the CallTraits for a two-way call. More...
 
#define  __WISP_CALLER_MAX_UNFRAGMENTED_MESSAGE_SIZE   131072U
 
#define  __WISP_WRITE_AREA_EXHAUSTED   "write area exhausted"
 

Typedefs

typedef std::uint32_t  ssrc::wisp::protocol::wisp_call_token
  The type of a call token. More...
 
typedef std::uint8_t  ssrc::wisp::protocol::wisp_call_role
  The type used by the CallHeader to store the CallRole of the call being made. More...
 
typedef std::shared_ptr< MessageInfo >  ssrc::wisp::protocol::message_info_ptr
 

Enumerations

enum   ssrc::wisp::protocol::CallType { ssrc::wisp::protocol::OneWay, ssrc::wisp::protocol::TwoWay }
  CallType defines allowable messaging call types. More...
 
enum   ssrc::wisp::protocol::CallRole { ssrc::wisp::protocol::OneWayRequest, ssrc::wisp::protocol::TwoWayRequest, ssrc::wisp::protocol::TwoWayResponse }
  The role of a call being made. More...
 

Variables

const Message::Service  ssrc::wisp::protocol::DefaultMessageServiceType = Message::SafeSelfDiscard
  Wisp calls can request a Spread message service type if desired. More...
 
const bool  ssrc::wisp::protocol::GroupMembershipEnable = true
 
const bool  ssrc::wisp::protocol::GroupMembershipDisable = false
 

Detailed Description

This header defines the Caller class and Wisp communication protocol support classes.

Definition in file Caller.h.

Macro Definition Documentation

#define __WISP_CALLER_MAX_UNFRAGMENTED_MESSAGE_SIZE   131072U

Definition at line 327 of file Caller.h.

#define __WISP_WRITE_AREA_EXHAUSTED   "write area exhausted"
#define WISP_ONE_WAY_CALL (   caller,
  method 
)
Value:
typedef NS_SSRC_WISP_PROTOCOL::CallTraits<caller, Message ## method> \
Call ## method

Defines the CallTraits for a one-way call.

Parameters
caller The type of Caller through which the call must be made.
method The name of the call.

Definition at line 137 of file Caller.h.

#define WISP_TWO_WAY_CALL (   caller,
  method,
  result 
)
Value:
typedef NS_SSRC_WISP_PROTOCOL::CallTraits<caller, Message ## method, Message ## result> \
Call ## method

Defines the CallTraits for a two-way call.

Parameters
caller The type of Caller through which the call must be made.
method The name of the call.
result The type returned by the call.

Definition at line 148 of file Caller.h.


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