Savarese Software Research Corporation
service::ServiceProtocolProcessor< PackingTraits > Class Template Reference

#include <service.h>

List of all members.

Public Types

enum   State { Starting, Started, Stopping, Stopped }
typedef PackingTraits  packing_traits
typedef
protocol::ContinuationCaller
< packing_traits
caller_type

Public Member Functions

  ServiceProtocolProcessor (caller_type &caller)
virtual  ~ServiceProtocolProcessor ()
string  name () const
State  state () const
void  start ()
void  stop ()
void  membership (const MessageInfo &msginfo, const MembershipInfo &meminfo)
void  request (MessageInfo &msginfo)
void  response (MessageInfo &msginfo)
timeout_ptr  schedule_timeout (const timeout_handler &handler, const TimeValue &timeout, const bool once=EventLoop::Persist)
void  cancel_timeout (const timeout_ptr &timeout)
void  clear_timeouts ()
ServiceContext::timeout_map::size_type  count_timeouts () const

Static Public Attributes

static const bool  GroupMembership = GroupMembershipDisable
  Subclasses should redefine this variable to override behavior.

Protected Member Functions

ServiceContext context ()
virtual void  process_membership_message (const MessageInfo &msginfo, const MembershipInfo &meminfo)
template<typename MessageType , typename Impl >
void  request (Impl &impl, MessageType &msg, MessageInfo &msginfo) SSRC_DECL_THROW(boost
template<typename MessageType , typename Impl >
void  request (Impl &impl, MessageInfo &msginfo) SSRC_DECL_THROW(boost
template<typename MessageType , typename Impl >
void  respond (Impl &impl, MessageType &msg, MessageInfo &msginfo) SSRC_DECL_THROW(boost
template<typename MessageType , typename Impl >
void  respond (Impl &impl, MessageInfo &msginfo) SSRC_DECL_THROW(boost
bool  set_request_handler (const message_handler_entry &handler)
message_handler_map::size_type  remove_request_handler (const message_handler_entry &handler)
void  clear_request_handlers ()
template<typename MessageType , typename Impl >
bool  set_request_handler (Impl &impl)
template<typename MessageType , typename Impl >
bool  set_request_handler (Impl &impl, MessageType &buffer)
bool  set_response_handler (const message_handler_entry &handler)
message_handler_map::size_type  remove_response_handler (const message_handler_entry &handler)
void  clear_response_handlers ()
template<typename MessageType , typename Impl >
bool  set_response_handler (Impl &impl)
template<typename MessageType , typename Impl >
bool  set_response_handler (Impl &impl, MessageType &buffer)
virtual void  transition (State state)

Protected Attributes

caller_type _caller

Friends

class  ServiceEventHandler

Detailed Description

template<typename PackingTraits = BinaryPackingTraits>
class service::ServiceProtocolProcessor< PackingTraits >

Definition at line 192 of file service/service.h.


Member Typedef Documentation

template<typename PackingTraits = BinaryPackingTraits>
typedef protocol::ContinuationCaller<packing_traits> service::ServiceProtocolProcessor< PackingTraits >::caller_type

Definition at line 195 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
typedef PackingTraits service::ServiceProtocolProcessor< PackingTraits >::packing_traits

Definition at line 194 of file service/service.h.


Member Enumeration Documentation

template<typename PackingTraits = BinaryPackingTraits>
enum service::ServiceProtocolProcessor::State
Enumerator:
Starting 
Started 
Stopping 
Stopped 

Definition at line 197 of file service/service.h.


Constructor & Destructor Documentation

template<typename PackingTraits = BinaryPackingTraits>
service::ServiceProtocolProcessor< PackingTraits >::ServiceProtocolProcessor ( caller_type caller ) [inline, explicit]

Definition at line 328 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
virtual service::ServiceProtocolProcessor< PackingTraits >::~ServiceProtocolProcessor ( ) [inline, virtual]

Definition at line 333 of file service/service.h.


Member Function Documentation

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::cancel_timeout ( const timeout_ptr timeout ) [inline]

Definition at line 393 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::clear_request_handlers ( ) [inline, protected]

Definition at line 277 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::clear_response_handlers ( ) [inline, protected]

Definition at line 305 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::clear_timeouts ( ) [inline]

Definition at line 397 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
ServiceContext& service::ServiceProtocolProcessor< PackingTraits >::context ( ) [inline, protected]

Definition at line 224 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
ServiceContext::timeout_map::size_type service::ServiceProtocolProcessor< PackingTraits >::count_timeouts ( ) const [inline]

Definition at line 401 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::membership ( const MessageInfo &  msginfo,
const MembershipInfo &  meminfo 
) [inline]

Definition at line 353 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
string service::ServiceProtocolProcessor< PackingTraits >::name ( ) const [inline]

Definition at line 335 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
virtual void service::ServiceProtocolProcessor< PackingTraits >::process_membership_message ( const MessageInfo &  msginfo,
const MembershipInfo &  meminfo 
) [inline, protected, virtual]

Definition at line 226 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
message_handler_map::size_type service::ServiceProtocolProcessor< PackingTraits >::remove_request_handler ( const message_handler_entry handler ) [inline, protected]

Definition at line 272 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
message_handler_map::size_type service::ServiceProtocolProcessor< PackingTraits >::remove_response_handler ( const message_handler_entry handler ) [inline, protected]

Definition at line 300 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
void service::ServiceProtocolProcessor< PackingTraits >::request ( Impl &  impl,
MessageInfo &  msginfo 
) [inline, protected]

Definition at line 242 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::request ( MessageInfo &  msginfo ) [inline]

Definition at line 359 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
void service::ServiceProtocolProcessor< PackingTraits >::request ( Impl &  impl,
MessageType &  msg,
MessageInfo &  msginfo 
) [inline, protected]

Definition at line 232 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
void service::ServiceProtocolProcessor< PackingTraits >::respond ( Impl &  impl,
MessageType &  msg,
MessageInfo &  msginfo 
) [inline, protected]

Definition at line 250 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
void service::ServiceProtocolProcessor< PackingTraits >::respond ( Impl &  impl,
MessageInfo &  msginfo 
) [inline, protected]

Definition at line 260 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::response ( MessageInfo &  msginfo ) [inline]

Definition at line 371 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
timeout_ptr service::ServiceProtocolProcessor< PackingTraits >::schedule_timeout ( const timeout_handler handler,
const TimeValue &  timeout,
const bool  once = EventLoop::Persist 
) [inline]

Definition at line 386 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
bool service::ServiceProtocolProcessor< PackingTraits >::set_request_handler ( Impl &  impl,
MessageType &  buffer 
) [inline, protected]

Definition at line 289 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
bool service::ServiceProtocolProcessor< PackingTraits >::set_request_handler ( Impl &  impl ) [inline, protected]

Definition at line 282 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
bool service::ServiceProtocolProcessor< PackingTraits >::set_request_handler ( const message_handler_entry handler ) [inline, protected]

Definition at line 267 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
bool service::ServiceProtocolProcessor< PackingTraits >::set_response_handler ( Impl &  impl,
MessageType &  buffer 
) [inline, protected]

Definition at line 316 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
template<typename MessageType , typename Impl >
bool service::ServiceProtocolProcessor< PackingTraits >::set_response_handler ( Impl &  impl ) [inline, protected]

Definition at line 310 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
bool service::ServiceProtocolProcessor< PackingTraits >::set_response_handler ( const message_handler_entry handler ) [inline, protected]

Definition at line 295 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::start ( ) [inline]

Definition at line 343 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
State service::ServiceProtocolProcessor< PackingTraits >::state ( ) const [inline]

Definition at line 339 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
void service::ServiceProtocolProcessor< PackingTraits >::stop ( ) [inline]

Definition at line 349 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
virtual void service::ServiceProtocolProcessor< PackingTraits >::transition ( State  state ) [inline, protected, virtual]

Definition at line 322 of file service/service.h.


Friends And Related Function Documentation

template<typename PackingTraits = BinaryPackingTraits>
friend class ServiceEventHandler [friend]

Definition at line 406 of file service/service.h.


Member Data Documentation

template<typename PackingTraits = BinaryPackingTraits>
caller_type& service::ServiceProtocolProcessor< PackingTraits >::_caller [protected]

Definition at line 218 of file service/service.h.

template<typename PackingTraits = BinaryPackingTraits>
const bool service::ServiceProtocolProcessor< PackingTraits >::GroupMembership = GroupMembershipDisable [static]

Subclasses should redefine this variable to override behavior.

We don't reference the template parameter so that you can subclass a protocol processor that is a concrete class that disables group membership and enable it in the subclass. Otherwise, every protocol processor would have to be a template class. The variable is used only by the Service template to initialize _caller.

Definition at line 207 of file service/service.h.


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

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