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

strmod::strmod Namespace Reference

The heart of the StreamModule System (Homepage). More...


Compounds

class  DataFunctor
struct  Internals
class  Builder
struct  ErrorInfo
class  BufferList
 The ChunkVisitor that gathers data for the writev calls. More...

class  ResumeWriteEv
 This is one of the five helper classes for StreamFDModule::EvMixin. More...

class  ResumeReadEv
 This is one of the five helper classes for StreamFDModule::EvMixin. More...

class  FDPollErEv
 This is one of the five helper classes for StreamFDModule::EvMixin. More...

class  FDPollWrEv
 This is one of the five helper classes for StreamFDModule::EvMixin. More...

class  FDPollRdEv
 This is one of the five helper classes for StreamFDModule::EvMixin. More...

class  EvMixin
 A parent class for StreamFDModule events that provides some behavior for the module being deleted. More...

class  FDPollErEv
class  FDPollRdEv
class  FDPollEv
 A parent class for the three sub event classes. More...

class  mp_written_p
 Find MultiPlugs that haven't been written to. More...

class  mp_notpluggedin_p
class  auto_mpptr
class  ExtVisitor
 The ChunkVisitor that gathers data for the StrChunk::__iterator to use. More...

struct  Impl
class  mpother_readable_p
class  ScanEvent
 The event that is triggered when the SimpleMultiplexer should scan the MultiPlugs for ones that are readable. More...

class  MultiPlug
 A private class for StrPlugs on the 'many' side of a SimpleMultiplexer. More...

struct  rawdata
 Holds information about where to find a chunk of data and how big it is. More...

class  ScanEvent
class  shared
 A bunch of data that can be share among all the StrChunk::__iterator objects for a given StrChunk. More...

class  OptionNegotiation
 A telnet suboption negotiation request. More...

class  Suboption
 A telnet suboption. More...

class  SingleChar
 A single character telnet command. More...

class  SPPlug
struct  Flags
 A struct just so raw bitfields don't have to be in the class. More...

class  Plug
 A point of connection between one StreamModule and another. More...

class  PlugDisconnectStrategy
 The Strategy for what to do when a plug is disconnected from another plug. More...

class  FPlug
class  __iterator
 The const_iterator class for StrChunk. More...

class  ApplyVisitor
 A template class that applies a functor (can be a function pointer) to each chunk of bytes in a StrChunk containment hierarchy. More...

class  ApplyVisitor_Base
 A base class for the ApplyVisitor template that factors out the common code so there aren't tons of duplicates all over creation. More...

class  BufferChunk
 This is an abstract base class for StrChunks that are really just bags of bytes. More...

class  Factory
class  CharChopper
 Chops up the data in chunks delimited by a character. More...

class  ChunkVisitor
 The interface for a StrChunk visitor. More...

class  halt_visitation
 An exception to allow the visitor to halt the traversal. More...

class  DynamicBuffer
 A completely dyamically allocated bag of bytes. More...

class  EchoModule
 This module echoes everything that comes in. More...

class  EPlug
class  EOFStrChunk
 A special 'zero length' chunk that indicates a stream EOF. More...

class  FDUtil
 A class utility library for file descriptor operations. More...

class  GraphVizVisitor
 Generates output suitable for AT&T's Open Source GraphViz program, found at http://www.research.att.com/sw/tools/graphviz/. More...

class  GroupChunk
 A StrChunk that consists of a concatentation of other StrChunks. More...

class  InfiniteModule
 Sends a particular chunk repeatedly forever. Eats any chunk sent to it. More...

class  IPlug
class  InSerializer
 Provides a simple way to 'deserialize' a StrChunk. More...

class  LinearExtent
 A simple class describing a subrange of a contiguous sequence. More...

class  LocalCopy
 Makes a local copy of a variable the compiler doesn't have enough information to do CSE on. More...

class  NewlineChopper
 Just a CharChopper that's hard wired to '\n' as the character. More...

class  OutSerializer
 A class that marshals data into a canonical binary format. More...

class  State
class  PassThrough
 This is a StreamProcessor that does nothing. More...

class  PMPlug
class  PreAllocBuffer
 A template class for buffers that contain a certain fixed amount of storage that's not dynamically allocated. More...

class  PreAllocBufferBase
 Just a base class that defines the functions for the template class that don't depend on the template argument. More...

class  ProcessorModule
 This wraps two objects that follow the unidirectional StreamProcessor interface in a StreamModule interface. More...

class  RouterModule
 Provides an abstract base for classes that route chunks from a plug to a set of other plugs based on contents. More...

class  RPlug
class  SimpleMultiplexer
 Use this module of you need one source copied to many destinations, and/or many streams combined into one. More...

class  SinglePlug
class  SimpleTelnetClient
 Only will handle the case when the server will do supress go ahead, and echo. More...

class  UPlug
class  SPlug
class  SLPlug
 A plug from a SockListenModule. More...

class  SocketModule
class  SocketModuleChunk
 A special 'zero length' chunk that contains a SocketModule. More...

class  SockListenModule
 A class that accepts connections on a particular socket. More...

class  StackSwapper
 A class to make a certain means of doing dynamic scoping in a lexically scoped language exception safe. More...

class  StaticBuffer
 This class is for pointing at a bunch of data already in memory that will not change or move for the lifetime of the StaticBuffer. More...

class  STR_ClassIdent
 The class identifier class that sets the library number section of the class number to be correct for the classes in the StrMod library. More...

class  StrChunk
 An interface to a reference counted chunk of data. More...

class  StrChunkPtr
 A smart pointer class that points a StrChunks and handles their reference counts. More...

class  StrChunkPtrT
 A convenience template to point at things derived from StrChunk. More...

class  StreamFDModule
 This module is for communicating outside your program via UNIX IO. More...

class  StreamModule
 An abstract base for objects that can be modules in the StreamModule framework. More...

class  StreamProcessor
 Describes a simple non-active processor of a unidirectional data stream that has one input and one output. More...

class  StreamSplitterModule
 This module is for treating two uni-directional streams as one bi-directional stream. More...

class  StrSubChunk
 A StrChunk that consists of some part of another StrChunk. More...

class  TelnetChars
 A class holding a bunch of telnet character constants. More...

class  TelnetChunkBuilder
 Interface class for things that build telnet protocol data streams. More...

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

class  TelnetData
 This is just a base abstract class for all things recognized as telnet protocol messages. More...

class  TelnetParser
 Class for parsing out a stream of characters into telnet protocol elements using the TelnetChunkBuilder class. More...

class  UseTrackingVisitor
 Simplifies the Visitor interface down so that derived classes don't have to worry about tracking which parts of a StrChunk are actually used. More...


Typedefs

typedef StrChunkPtrT< EOFStrChunkEOFStrChunkPtr
typedef StrChunkPtrT< SocketModuleChunkSocketModuleChunkPtr
typedef stat statbuf_t

Functions

template<class _Function> void for_each (const StrChunkPtr &chunk, _Function &func)
 A function to hide the rather odd syntax for using the ApplyVisitor class.

template<class _Function> void for_each (const StrChunkPtr &chunk, const LinearExtent &extent, _Function &func)
 A function to hide the rather odd syntax for using the ApplyVisitor class.

bool operator== (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
bool operator!= (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
bool operator< (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
bool operator> (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
bool operator<= (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
bool operator>= (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
StrChunk::__iterator::difference_type operator- (const StrChunk::__iterator &a, const StrChunk::__iterator &b)
InSerializeroperator>> (InSerializer &is, lcore::S1Byte &num)
InSerializeroperator>> (InSerializer &is, lcore::U1Byte &num)
InSerializeroperator>> (InSerializer &is, lcore::S2Byte &num)
InSerializeroperator>> (InSerializer &is, lcore::U2Byte &num)
InSerializeroperator>> (InSerializer &is, lcore::S4Byte &num)
InSerializeroperator>> (InSerializer &is, lcore::U4Byte &num)
InSerializeroperator>> (InSerializer &is,::std::string &str)
::std::ostream & operator<< (::std::ostream &os, const LinearExtent &ext)
 Print out a LinearExtent on an iostream.

bool operator== (const LinearExtent &a, const LinearExtent &b)
bool operator!= (const LinearExtent &a, const LinearExtent &b)
OutSerializeroperator<< (OutSerializer &os, lcore::S1Byte num)
OutSerializeroperator<< (OutSerializer &os, lcore::U1Byte num)
OutSerializeroperator<< (OutSerializer &os, lcore::S2Byte num)
OutSerializeroperator<< (OutSerializer &os, lcore::U2Byte num)
OutSerializeroperator<< (OutSerializer &os, lcore::S4Byte num)
OutSerializeroperator<< (OutSerializer &os, lcore::U4Byte num)
OutSerializeroperator<< (OutSerializer &os, const::std::string &str)
OutSerializeroperator<< (OutSerializer &os, const char *str)


Detailed Description

The heart of the StreamModule System (Homepage).

This is the namespace for classes in the StreamModule and StrChunk subsystems. Here are a list of the important top-level classes:


Function Documentation

template<class _Function>
void for_each const StrChunkPtr   chunk,
const LinearExtent   extent,
_Function &    func
[inline]
 

A function to hide the rather odd syntax for using the ApplyVisitor class.

Much like the STL for_each function, but this one iterates over the data extents making up the section of the StrChunk described by extent.

Parameters:
chunk The chunk to iterate over.
extent Which LinearExtent of the chunk to iterator over.
func The functor to apply.

Definition at line 193 of file ApplyVisitor.h.

template<class _Function>
void for_each const StrChunkPtr   chunk,
_Function &    func
[inline]
 

A function to hide the rather odd syntax for using the ApplyVisitor class.

Much like the STL for_each function, but this one iterates over the data extents making up a StrChunk.

Parameters:
chunk The chunk to iterate over.
func The functor to apply.

Definition at line 177 of file ApplyVisitor.h.


Generated on Wed Jan 29 00:32:52 2003 for libNet by doxygen1.3-rc1