libzmq  master
ZeroMQ C++ Core Engine (LIBZMQ)
zmq::v1_decoder_t Class Reference

#include <v1_decoder.hpp>

Inheritance diagram for zmq::v1_decoder_t:
Collaboration diagram for zmq::v1_decoder_t:

Public Member Functions

 v1_decoder_t (size_t bufsize_, int64_t maxmsgsize_)
 
 ~v1_decoder_t ()
 
virtual msg_tmsg ()
 
- Public Member Functions inherited from zmq::c_single_allocator
 c_single_allocator (std::size_t bufsize_)
 
 ~c_single_allocator ()
 
unsigned char * allocate ()
 
void deallocate ()
 
void resize (std::size_t new_size)
 
std::size_t size () const
 
- Public Member Functions inherited from zmq::decoder_base_t< v1_decoder_t >
 decoder_base_t (c_single_allocator *allocator_)
 
virtual ~decoder_base_t ()
 
int decode (const unsigned char *data_, std::size_t size_, std::size_t &bytes_used_)
 
void get_buffer (unsigned char **data_, std::size_t *size_)
 
virtual void resize_buffer (std::size_t new_size)
 
- Public Member Functions inherited from zmq::i_decoder
virtual ~i_decoder ()
 
virtual int decode (const unsigned char *data_, size_t size_, size_t &processed)=0
 
virtual void get_buffer (unsigned char **data_, size_t *size_)=0
 
virtual void resize_buffer (size_t)=0
 

Private Member Functions

 v1_decoder_t (const v1_decoder_t &)
 
int eight_byte_size_ready (unsigned char const *)
 
int flags_ready (unsigned char const *)
 
int message_ready (unsigned char const *)
 
int one_byte_size_ready (unsigned char const *)
 
void operator= (const v1_decoder_t &)
 

Private Attributes

msg_t in_progress
 
int64_t maxmsgsize
 
unsigned char tmpbuf [8]
 

Additional Inherited Members

- Protected Types inherited from zmq::decoder_base_t< v1_decoder_t >
typedef int(v1_decoder_t::* step_t) (unsigned char const *)
 
- Protected Member Functions inherited from zmq::decoder_base_t< v1_decoder_t >
void next_step (void *read_pos_, std::size_t to_read_, step_t next_)
 

Detailed Description

Definition at line 39 of file v1_decoder.hpp.

Constructor & Destructor Documentation

zmq::v1_decoder_t::v1_decoder_t ( size_t  bufsize_,
int64_t  maxmsgsize_ 
)

Definition at line 46 of file v1_decoder.cpp.

References errno_assert, in_progress, zmq::msg_t::init(), zmq::decoder_base_t< v1_decoder_t >::next_step(), one_byte_size_ready(), and tmpbuf.

Here is the call graph for this function:

zmq::v1_decoder_t::~v1_decoder_t ( )

Definition at line 58 of file v1_decoder.cpp.

References zmq::msg_t::close(), errno_assert, and in_progress.

Here is the call graph for this function:

zmq::v1_decoder_t::v1_decoder_t ( const v1_decoder_t )
private

Member Function Documentation

int zmq::v1_decoder_t::eight_byte_size_ready ( unsigned char const *  )
private

Definition at line 100 of file v1_decoder.cpp.

References zmq::msg_t::close(), EMSGSIZE, EPROTO, errno_assert, flags_ready(), zmq::get_uint64(), in_progress, zmq::msg_t::init(), zmq::msg_t::init_size(), maxmsgsize, zmq::decoder_base_t< v1_decoder_t >::next_step(), and tmpbuf.

Referenced by msg(), and one_byte_size_ready().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::v1_decoder_t::flags_ready ( unsigned char const *  )
private

Definition at line 141 of file v1_decoder.cpp.

References zmq::msg_t::data, in_progress, message_ready(), zmq::msg_t::more, zmq::decoder_base_t< v1_decoder_t >::next_step(), zmq::msg_t::set_flags(), zmq::msg_t::size, and tmpbuf.

Referenced by eight_byte_size_ready(), msg(), and one_byte_size_ready().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::v1_decoder_t::message_ready ( unsigned char const *  )
private

Definition at line 152 of file v1_decoder.cpp.

References zmq::decoder_base_t< v1_decoder_t >::next_step(), one_byte_size_ready(), and tmpbuf.

Referenced by flags_ready(), and msg().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual msg_t* zmq::v1_decoder_t::msg ( )
inlinevirtual

Implements zmq::i_decoder.

Definition at line 48 of file v1_decoder.hpp.

References eight_byte_size_ready(), flags_ready(), in_progress, message_ready(), and one_byte_size_ready().

Here is the call graph for this function:

int zmq::v1_decoder_t::one_byte_size_ready ( unsigned char const *  )
private

Definition at line 64 of file v1_decoder.cpp.

References zmq::msg_t::close(), eight_byte_size_ready(), EMSGSIZE, EPROTO, errno_assert, flags_ready(), in_progress, zmq::msg_t::init(), zmq::msg_t::init_size(), maxmsgsize, zmq::decoder_base_t< v1_decoder_t >::next_step(), and tmpbuf.

Referenced by message_ready(), msg(), and v1_decoder_t().

Here is the call graph for this function:

Here is the caller graph for this function:

void zmq::v1_decoder_t::operator= ( const v1_decoder_t )
private

Member Data Documentation

msg_t zmq::v1_decoder_t::in_progress
private
int64_t zmq::v1_decoder_t::maxmsgsize
private

Definition at line 60 of file v1_decoder.hpp.

Referenced by eight_byte_size_ready(), and one_byte_size_ready().

unsigned char zmq::v1_decoder_t::tmpbuf[8]
private