ServiceProtocolProcessor< PackingTraits > Class Template Reference
#include <service.h>
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 ServiceProtocolProcessor< PackingTraits >
Definition at line 192 of file service/service.h.
Member Typedef Documentation
| typedef protocol::ContinuationCaller<packing_traits> ServiceProtocolProcessor< PackingTraits >::caller_type |
Definition at line 195 of file service/service.h.
| typedef PackingTraits ServiceProtocolProcessor< PackingTraits >::packing_traits |
Definition at line 194 of file service/service.h.
Member Enumeration Documentation
| enum ServiceProtocolProcessor::State |
Definition at line 197 of file service/service.h.
Constructor & Destructor Documentation
| ServiceProtocolProcessor< PackingTraits >::ServiceProtocolProcessor | ( | caller_type & | caller | ) | [inline, explicit] |
Definition at line 328 of file service/service.h.
| virtual ServiceProtocolProcessor< PackingTraits >::~ServiceProtocolProcessor | ( | ) | [inline, virtual] |
Definition at line 333 of file service/service.h.
Member Function Documentation
| void ServiceProtocolProcessor< PackingTraits >::cancel_timeout | ( | const timeout_ptr & | timeout | ) | [inline] |
Definition at line 393 of file service/service.h.
References ServiceContext::remove_timeout().
| void ServiceProtocolProcessor< PackingTraits >::clear_request_handlers | ( | ) | [inline, protected] |
Definition at line 277 of file service/service.h.
| void ServiceProtocolProcessor< PackingTraits >::clear_response_handlers | ( | ) | [inline, protected] |
Definition at line 305 of file service/service.h.
| void ServiceProtocolProcessor< PackingTraits >::clear_timeouts | ( | ) | [inline] |
Definition at line 397 of file service/service.h.
References ServiceContext::clear_timeouts().
| ServiceContext& ServiceProtocolProcessor< PackingTraits >::context | ( | ) | [inline, protected] |
Definition at line 224 of file service/service.h.
| ServiceContext::timeout_map::size_type ServiceProtocolProcessor< PackingTraits >::count_timeouts | ( | ) | const [inline] |
Definition at line 401 of file service/service.h.
References ServiceContext::count_timeouts().
| void ServiceProtocolProcessor< PackingTraits >::membership | ( | const MessageInfo & | msginfo, | |
| const MembershipInfo & | meminfo | |||
| ) | [inline] |
Definition at line 353 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::process_membership_message().
| string ServiceProtocolProcessor< PackingTraits >::name | ( | ) | const [inline] |
Definition at line 335 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::_caller.
| virtual void ServiceProtocolProcessor< PackingTraits >::process_membership_message | ( | const MessageInfo & | msginfo, | |
| const MembershipInfo & | meminfo | |||
| ) | [inline, protected, virtual] |
Definition at line 226 of file service/service.h.
Referenced by ServiceProtocolProcessor< PackingTraits >::membership().
| message_handler_map::size_type ServiceProtocolProcessor< PackingTraits >::remove_request_handler | ( | const message_handler_entry & | handler | ) | [inline, protected] |
Definition at line 272 of file service/service.h.
| message_handler_map::size_type ServiceProtocolProcessor< PackingTraits >::remove_response_handler | ( | const message_handler_entry & | handler | ) | [inline, protected] |
Definition at line 300 of file service/service.h.
| void ServiceProtocolProcessor< PackingTraits >::request | ( | MessageInfo & | msginfo | ) | [inline] |
Definition at line 359 of file service/service.h.
| void ServiceProtocolProcessor< PackingTraits >::request | ( | Impl & | impl, | |
| MessageInfo & | msginfo | |||
| ) | [inline, protected] |
Definition at line 242 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::request().
| void ServiceProtocolProcessor< PackingTraits >::request | ( | Impl & | impl, | |
| MessageType & | msg, | |||
| MessageInfo & | msginfo | |||
| ) | [inline, protected] |
Definition at line 232 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::_caller.
Referenced by ServiceProtocolProcessor< PackingTraits >::request().
| void ServiceProtocolProcessor< PackingTraits >::respond | ( | Impl & | impl, | |
| MessageInfo & | msginfo | |||
| ) | [inline, protected] |
Definition at line 260 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::respond().
| void ServiceProtocolProcessor< PackingTraits >::respond | ( | Impl & | impl, | |
| MessageType & | msg, | |||
| MessageInfo & | msginfo | |||
| ) | [inline, protected] |
Definition at line 250 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::_caller.
Referenced by ServiceProtocolProcessor< PackingTraits >::respond().
| void ServiceProtocolProcessor< PackingTraits >::response | ( | MessageInfo & | msginfo | ) | [inline] |
Definition at line 371 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::_caller.
| timeout_ptr 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.
References ServiceContext::add_timeout().
| bool ServiceProtocolProcessor< PackingTraits >::set_request_handler | ( | Impl & | impl, | |
| MessageType & | buffer | |||
| ) | [inline, protected] |
Definition at line 289 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::set_request_handler().
| bool ServiceProtocolProcessor< PackingTraits >::set_request_handler | ( | Impl & | impl | ) | [inline, protected] |
Definition at line 282 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::set_request_handler().
| bool ServiceProtocolProcessor< PackingTraits >::set_request_handler | ( | const message_handler_entry & | handler | ) | [inline, protected] |
Definition at line 267 of file service/service.h.
Referenced by ServiceProtocolProcessor< PackingTraits >::set_request_handler().
| bool ServiceProtocolProcessor< PackingTraits >::set_response_handler | ( | Impl & | impl, | |
| MessageType & | buffer | |||
| ) | [inline, protected] |
Definition at line 316 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::set_response_handler().
| bool ServiceProtocolProcessor< PackingTraits >::set_response_handler | ( | Impl & | impl | ) | [inline, protected] |
Definition at line 310 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::set_response_handler().
| bool ServiceProtocolProcessor< PackingTraits >::set_response_handler | ( | const message_handler_entry & | handler | ) | [inline, protected] |
Definition at line 295 of file service/service.h.
Referenced by ServiceProtocolProcessor< PackingTraits >::set_response_handler().
| void ServiceProtocolProcessor< PackingTraits >::start | ( | ) | [inline] |
Definition at line 343 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::Starting, and ServiceProtocolProcessor< PackingTraits >::transition().
| State ServiceProtocolProcessor< PackingTraits >::state | ( | ) | const [inline] |
Definition at line 339 of file service/service.h.
| void ServiceProtocolProcessor< PackingTraits >::stop | ( | ) | [inline] |
Definition at line 349 of file service/service.h.
References ServiceProtocolProcessor< PackingTraits >::Stopping, and ServiceProtocolProcessor< PackingTraits >::transition().
| virtual void ServiceProtocolProcessor< PackingTraits >::transition | ( | State | state | ) | [inline, protected, virtual] |
Definition at line 322 of file service/service.h.
Referenced by ServiceProtocolProcessor< PackingTraits >::start(), and ServiceProtocolProcessor< PackingTraits >::stop().
Friends And Related Function Documentation
friend class ServiceEventHandler [friend] |
Definition at line 406 of file service/service.h.
Member Data Documentation
caller_type& ServiceProtocolProcessor< PackingTraits >::_caller [protected] |
const bool 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: