Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

strmod::strmod::TelnetChunker Class Reference

This class parses out a stream of data into seperate telnet protocol elements. More...

#include <StrMod/TelnetChunker.h>

Inheritance diagram for strmod::strmod::TelnetChunker:

Inheritance graph
[legend]
List of all members.

Public Methods

 TelnetChunker ()
 Construct a TelnetChunker.

virtual ~TelnetChunker ()
 Destruct a TelnetChunker.

virtual int AreYouA (const lcore::ClassIdent &cid) const
 Asks if a class is of a particular type, or publicly derived from that type.


Static Public Attributes

const STR_ClassIdent identifier
 Globally unique identifier for this class.

const unsigned int MAX_SUBOPTSIZE = (64U * 1024U)
 The maximum size an unfinished suboption can reach before it's aborted.


Protected Methods

virtual const lcore::ClassIdent * i_GetIdent () const
 Returns the class identifier for the class the object actually is.

virtual void processIncoming ()
 Do something with your incoming_ data.


Friends

class Internals

Detailed Description

This class parses out a stream of data into seperate telnet protocol elements.

The protocol elements are either raw data, or a StrChunk derived from TelnetParser::TelnetData. For more information on what the protocol elements mean, search for the relevant IETF RFCs, or visit http://www.omnifarious.org/~hopper/technical/telnet-rfc.html

Definition at line 45 of file TelnetChunker.h.


Constructor & Destructor Documentation

strmod::strmod::TelnetChunker::TelnetChunker  
 

Construct a TelnetChunker.

Not much to tell one when you make it. The state diagram has a quite well defined starting point.

Definition at line 245 of file TelnetChunker.cxx.

strmod::strmod::TelnetChunker::~TelnetChunker   [virtual]
 

Destruct a TelnetChunker.

No pointers mean no explicit memory management here.

Definition at line 250 of file TelnetChunker.cxx.


Member Function Documentation

int strmod::strmod::TelnetChunker::AreYouA const lcore::ClassIdent &    cid const [inline, virtual]
 

Asks if a class is of a particular type, or publicly derived from that type.

Overriden in every derived class (with a static identifier member) to compare against the identifier, then call the AreYouA methods of all the superclasses.

Parameters:
cid Usually <class>::identifier for the class you want to ask if the object is an instance of.

Reimplemented from strmod::strmod::StreamProcessor.

Definition at line 85 of file TelnetChunker.h.

virtual const lcore::ClassIdent* strmod::strmod::TelnetChunker::i_GetIdent   const [inline, protected, virtual]
 

Returns the class identifier for the class the object actually is.

Should always be overridden in any class that has a static identifier member.

Reimplemented from strmod::strmod::StreamProcessor.

Definition at line 72 of file TelnetChunker.h.

void strmod::strmod::TelnetChunker::processIncoming   [protected, virtual]
 

Do something with your incoming_ data.

Precondition:
(incoming_ && !outoing_ready_) will always be true when entering this function, meaning that incoming_ points at a valid chunk.
Postcondition:
A post condition of this function is (!incoming_ || (outgoing_ready_ && outgoing_)).

Implements strmod::strmod::StreamProcessor.

Definition at line 269 of file TelnetChunker.cxx.


Member Data Documentation

const STR_ClassIdent strmod::strmod::TelnetChunker::identifier [static]
 

Globally unique identifier for this class.

Every class that might need to be identified should have a public static const identifier object in it.

Reimplemented from strmod::strmod::StreamProcessor.


The documentation for this class was generated from the following files:
Generated on Wed Jan 29 00:32:56 2003 for libNet by doxygen1.3-rc1