Savarese Software Research Corporation
ServiceProtocol.h File Reference

This header defines the Wisp protocol framework. More...

#include <ssrc/wisp/serialization.h>
#include <ssrc/wisp/utility/wisp_struct.h>
#include <ssrc/wisp/utility/wisp_import.h>
#include <ssrc/spread/Message.h>
#include <string>
#include <cstdint>
Include dependency graph for ServiceProtocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class   Caller< PT >
 
struct   ServiceProtocol< protocol_, PT >
 

Macros

#define  WISP_DEFINE_PROTOCOL(protocol_base)
 
#define  __WISP_PROTOCOL_MESSAGE(in_template, call, base, members)
 
#define  __WISP_PROTOCOL_MESSAGE_WITH_INIT(in_template, call, base, members, initializers)
 
#define  WISP_PROTOCOL_MESSAGE(call, base, members)   __WISP_PROTOCOL_MESSAGE(0, call, base, members)
 
#define  WISP_PROTOCOL_MESSAGE_T(call, base, members)   __WISP_PROTOCOL_MESSAGE(1, call, base, members)
 
#define  WISP_PROTOCOL_MESSAGE_WITH_INIT(call, base, members, initializers)   __WISP_PROTOCOL_MESSAGE_WITH_INIT(0, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers))
 
#define  WISP_PROTOCOL_MESSAGE_WITH_INIT_T(call, base, members, initializers)   __WISP_PROTOCOL_MESSAGE_WITH_INIT(1, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers))
 

Typedefs

typedef std::uint16_t  wisp_message_id
 

Variables

__BEGIN_NS_SSRC_WISP_PROTOCOL typedef NS_SSRC_SPREAD::Message::message_type  wisp_message_protocol
 

Detailed Description

This header defines the Wisp protocol framework.

Definition in file ServiceProtocol.h.

Macro Definition Documentation

#define __WISP_PROTOCOL_MESSAGE (   in_template,
  call,
  base,
  members 
)
Value:
struct BOOST_PP_CAT(Message, call) : public base<call> { \
BOOST_PP_SEQ_FOR_EACH(__WISP_STRUCT_MEMBER, _, members) \
BOOST_PP_CAT(Message, call)() : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_DEFAULT_INIT_MEMBER, _, members) { } \
explicit BOOST_PP_CAT(Message, call)(BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_PARAM, in_template, members)) : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_INIT_MEMBER, _, members) { } \
__WISP_STRUCT_SERIALIZE_MEMBERS(members) \
__WISP_STRUCT_VISIT(members) \
}

Definition at line 64 of file ServiceProtocol.h.

#define __WISP_PROTOCOL_MESSAGE_WITH_INIT (   in_template,
  call,
  base,
  members,
  initializers 
)
Value:
struct BOOST_PP_CAT(Message, call) : public base<call> { \
BOOST_PP_SEQ_FOR_EACH(__WISP_STRUCT_MEMBER, _, members) \
explicit BOOST_PP_CAT(Message, call)(BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_PARAM_INIT, BOOST_PP_ARRAY_PUSH_FRONT(BOOST_PP_ARRAY_PUSH_FRONT(initializers, BOOST_PP_SUB(BOOST_PP_SEQ_SIZE(members), BOOST_PP_ARRAY_SIZE(initializers))), in_template), members)) : \
BOOST_PP_SEQ_FOR_EACH_I(__WISP_STRUCT_INIT_MEMBER, _, members) { } \
__WISP_STRUCT_SERIALIZE_MEMBERS(members) \
__WISP_STRUCT_VISIT(members) \
}

Definition at line 75 of file ServiceProtocol.h.

#define WISP_DEFINE_PROTOCOL (   protocol_base )
Value:
template<NS_SSRC_WISP_PROTOCOL::wisp_message_id _id> \
struct Message ## protocol_base : public NS_SSRC_WISP_UTILITY::wisp_struct { \
enum { protocol = protocol_base }; \
enum { id = _id }; \
template<class Archive> \
void serialize(Archive & ar, const unsigned int) { } \
}

Definition at line 53 of file ServiceProtocol.h.

#define WISP_PROTOCOL_MESSAGE (   call,
  base,
  members 
)    __WISP_PROTOCOL_MESSAGE(0, call, base, members)

Definition at line 84 of file ServiceProtocol.h.

#define WISP_PROTOCOL_MESSAGE_T (   call,
  base,
  members 
)    __WISP_PROTOCOL_MESSAGE(1, call, base, members)

Definition at line 87 of file ServiceProtocol.h.

#define WISP_PROTOCOL_MESSAGE_WITH_INIT (   call,
  base,
  members,
  initializers 
)    __WISP_PROTOCOL_MESSAGE_WITH_INIT(0, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers))

Definition at line 90 of file ServiceProtocol.h.

#define WISP_PROTOCOL_MESSAGE_WITH_INIT_T (   call,
  base,
  members,
  initializers 
)    __WISP_PROTOCOL_MESSAGE_WITH_INIT(1, call, base, members, BOOST_PP_SEQ_TO_ARRAY(initializers))

Definition at line 93 of file ServiceProtocol.h.

Typedef Documentation

typedef std::uint16_t wisp_message_id

Definition at line 41 of file ServiceProtocol.h.

Variable Documentation

__BEGIN_NS_SSRC_WISP_PROTOCOL typedef NS_SSRC_SPREAD::Message::message_type wisp_message_protocol

Definition at line 40 of file ServiceProtocol.h.


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