Atlas 0.7.0
Networking protocol for the Worldforge system.
Atlas::Message::QueuedDecoder Class Reference

#include <QueuedDecoder.h>

Inheritance diagram for Atlas::Message::QueuedDecoder:
Collaboration diagram for Atlas::Message::QueuedDecoder:

Public Member Functions

size_t queueSize ()
 Retrieve the current size of the message queue.
More...
 
MapType popMessage ()
 Pop an object from the front of the message queue. More...
 
const MapType & frontMessage ()
 Peek at the object at the front of the queue. More...
 
void streamBegin () override
 
void streamMessage () override
 
void streamEnd () override
 
void mapMapItem (std::string name) override
 
void mapListItem (std::string name) override
 
void mapIntItem (std::string name, std::int64_t) override
 
void mapFloatItem (std::string name, double) override
 
void mapStringItem (std::string name, std::string) override
 
void mapNoneItem (std::string name) override
 
void mapEnd () override
 
void listMapItem () override
 
void listListItem () override
 
void listIntItem (std::int64_t) override
 
void listFloatItem (double) override
 
void listStringItem (std::string) override
 
void listNoneItem () override
 
void listEnd () override
 

Protected Types

enum  State { STATE_STREAM , STATE_MAP , STATE_LIST }
 Our current decoding state. More...
 

Protected Member Functions

void messageArrived (MapType obj) override
 This adds a message to the queue. More...
 

Protected Attributes

std::stack< Statem_state
 The state stack. More...
 
std::stack< MapType > m_maps
 The map stack. More...
 
std::stack< ListType > m_lists
 The list stack. More...
 
std::stack< std::string > m_names
 Names for maps and lists. More...
 

Detailed Description

Decoder that presents a queue of Atlas::Message::Element.

This message decoder puts arrived objects into a queue and allows the application to pop them off the front of the queue, peek at the front of the queue, as well as checking to see how many objects are currently in the queue.

See also
DecoderBase
Element
Author
Stefanus Du Toit sdt@g.nosp@m.mx.n.nosp@m.et

Definition at line 34 of file QueuedDecoder.h.

Member Enumeration Documentation

◆ State

enum Atlas::Message::DecoderBase::State
protectedinherited

Our current decoding state.

Definition at line 71 of file DecoderBase.h.

Member Function Documentation

◆ frontMessage()

const MapType & Atlas::Message::QueuedDecoder::frontMessage ( )
inline

Peek at the object at the front of the queue.

Definition at line 51 of file QueuedDecoder.h.

◆ listEnd()

void Atlas::Message::DecoderBase::listEnd ( )
overridevirtualinherited

Ends the currently streamed list.

Implements Atlas::Bridge.

Definition at line 167 of file DecoderBase.cpp.

◆ listFloatItem()

void Atlas::Message::DecoderBase::listFloatItem ( double  )
overridevirtualinherited

Adds a float to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 148 of file DecoderBase.cpp.

◆ listIntItem()

void Atlas::Message::DecoderBase::listIntItem ( std::int64_t  )
overridevirtualinherited

Adds an integer to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 141 of file DecoderBase.cpp.

◆ listListItem()

void Atlas::Message::DecoderBase::listListItem ( )
overridevirtualinherited

Starts a list object in the currently streamed list.

Implements Atlas::Bridge.

Definition at line 134 of file DecoderBase.cpp.

◆ listMapItem()

void Atlas::Message::DecoderBase::listMapItem ( )
overridevirtualinherited

Starts a map object in the currently streamed list.

Implements Atlas::Bridge.

Definition at line 127 of file DecoderBase.cpp.

◆ listNoneItem()

void Atlas::Message::DecoderBase::listNoneItem ( )
overridevirtualinherited

Adds an empty item to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 161 of file DecoderBase.cpp.

◆ listStringItem()

void Atlas::Message::DecoderBase::listStringItem ( std::string  )
overridevirtualinherited

Adds a string to the currently streamed list.

Implements Atlas::Bridge.

Definition at line 154 of file DecoderBase.cpp.

◆ mapEnd()

void Atlas::Message::DecoderBase::mapEnd ( )
overridevirtualinherited

Ends the currently streamed map.

Implements Atlas::Bridge.

Definition at line 88 of file DecoderBase.cpp.

◆ mapFloatItem()

void Atlas::Message::DecoderBase::mapFloatItem ( std::string  name,
double   
)
overridevirtualinherited

Adds a float to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 68 of file DecoderBase.cpp.

◆ mapIntItem()

void Atlas::Message::DecoderBase::mapIntItem ( std::string  name,
std::int64_t   
)
overridevirtualinherited

Adds an integer to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 61 of file DecoderBase.cpp.

◆ mapListItem()

void Atlas::Message::DecoderBase::mapListItem ( std::string  name)
overridevirtualinherited

Starts a list object to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 53 of file DecoderBase.cpp.

◆ mapMapItem()

void Atlas::Message::DecoderBase::mapMapItem ( std::string  name)
overridevirtualinherited

Starts a map object to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 45 of file DecoderBase.cpp.

◆ mapNoneItem()

void Atlas::Message::DecoderBase::mapNoneItem ( std::string  name)
overridevirtualinherited

Adds a none item to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 82 of file DecoderBase.cpp.

◆ mapStringItem()

void Atlas::Message::DecoderBase::mapStringItem ( std::string  name,
std::string   
)
overridevirtualinherited

Adds a string to the currently streamed map.

Implements Atlas::Bridge.

Definition at line 75 of file DecoderBase.cpp.

◆ messageArrived()

void Atlas::Message::QueuedDecoder::messageArrived ( MapType  obj)
overrideprotectedvirtual

This adds a message to the queue.

Implements Atlas::Message::DecoderBase.

Definition at line 11 of file QueuedDecoder.cpp.

◆ popMessage()

MapType Atlas::Message::QueuedDecoder::popMessage ( )
inline

Pop an object from the front of the message queue.

Definition at line 45 of file QueuedDecoder.h.

◆ queueSize()

size_t Atlas::Message::QueuedDecoder::queueSize ( )
inline

Retrieve the current size of the message queue.

Definition at line 41 of file QueuedDecoder.h.

◆ streamBegin()

void Atlas::Message::DecoderBase::streamBegin ( )
overridevirtualinherited

Begin an Atlas stream.

Implements Atlas::Bridge.

Definition at line 25 of file DecoderBase.cpp.

◆ streamEnd()

void Atlas::Message::DecoderBase::streamEnd ( )
overridevirtualinherited

Ends the Atlas stream.

Implements Atlas::Bridge.

Definition at line 38 of file DecoderBase.cpp.

◆ streamMessage()

void Atlas::Message::DecoderBase::streamMessage ( )
overridevirtualinherited

Start a message in an Atlas stream.

Implements Atlas::Bridge.

Definition at line 31 of file DecoderBase.cpp.

Member Data Documentation

◆ m_lists

std::stack<ListType> Atlas::Message::DecoderBase::m_lists
protectedinherited

The list stack.

Definition at line 82 of file DecoderBase.h.

◆ m_maps

std::stack<MapType> Atlas::Message::DecoderBase::m_maps
protectedinherited

The map stack.

Definition at line 80 of file DecoderBase.h.

◆ m_names

std::stack<std::string> Atlas::Message::DecoderBase::m_names
protectedinherited

Names for maps and lists.

Definition at line 84 of file DecoderBase.h.

◆ m_state

std::stack<State> Atlas::Message::DecoderBase::m_state
protectedinherited

The state stack.

Definition at line 78 of file DecoderBase.h.


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