Classes | Typedefs | Functions | Variables

cygnal Namespace Reference

Action Message Format specific classes of libamf. More...

Classes

class  EchoTest
class  GatewayTest
class  FitcDemoTest
class  demoService
class  OflaDemoTest
class  CRcInitFile
class  Cygnal
class  ThreadCounter
class  Handler
class  HTTPServer
class  AMF
 Binary representation of an ActionScript object. More...
class  AMF_msg
struct  amfutf8_t
struct  amflongutf8_t
class  Buffer
class  Element
class  Flv
class  Listener
class  LcShm
class  SOL
class  Proc
class  RTMPServer
class  ServerSO

Typedefs

typedef std::vector< char > utf8_t
typedef std::vector< char > longutf8_t

Functions

boost::shared_ptr
< Handler::cygnal_init_t
echo_init_func (boost::shared_ptr< gnash::RTMPMsg > &msg)
boost::shared_ptr< cygnal::Bufferecho_read_func ()
size_t echo_write_func (boost::uint8_t *data, size_t size)
boost::shared_ptr
< Handler::cygnal_init_t
fitcDemo_class_init ()
size_t fitcDemo_read_func (boost::uint8_t *data, size_t size)
size_t fitcDemo_write_func (boost::uint8_t *data, size_t size)
boost::shared_ptr
< Handler::cygnal_init_t
oflaDemo_init_func (boost::shared_ptr< gnash::RTMPMsg > &msg)
boost::shared_ptr< cygnal::BufferoflaDemo_read_func ()
size_t oflaDemo_write_func (boost::uint8_t *data, size_t size)
std::ostream & operator<< (std::ostream &os, const CRcInitFile &crcini)
 Dump to the specified output stream.
void resetLastAdvanceTimer ()
double secondsSinceLastAdvance ()
int vm_main (int argc, char *argv[])
void * swapBytes (void *word, size_t size)
 Swap bytes in raw data. This only swaps bytes if the host byte order is little endian.
std::ostream & operator<< (std::ostream &os, const Buffer &buf)
 Dump to the specified output stream.
std::ostream & operator<< (std::ostream &os, const Element &el)
 Dump to the specified output stream.
bool rtmp_handler (Network::thread_params_t *args)
std::ostream & operator<< (std::ostream &os, const ServerSO &so)
 Dump to the specified output stream.

Variables

double lastAdvanceTimer
EventCallback eventCallback
FsCommandExecutor execFsCommand
map< int, Handler * > DSOEXPORT handlers
const size_t STREAMS_BLOCK = 1000
const char * amftype_str []
 String representations of AMF0 data types.
const size_t AMF0_NUMBER_SIZE = 0x08
 All numbers in AMF format are 8 byte doubles.
const boost::uint8_t AMF_HEADER_SIZE = 3
 The header size in bytes of an common AMF object. The size of an AMF header is a type field (1 byte), followed by a length field. (short).
const boost::uint8_t AMF_PROP_HEADER_SIZE = 5
 The header size of a property. A property is a little different. It always assumes the the first field is a string that's the property name, then the type byte like a regular AMF object and length is used for the data. So a property object header is then only 5 bytes instead of the 6 that one assumes would be used.
const boost::uint8_t AMF_VERSION = 0
 AMF version 0 is supported by default.
const boost::uint8_t TERMINATOR = 0x09
 For terminating sequences, a byte with value 0x09 is used.
const boost::uint16_t SANE_STR_SIZE = 65535
 The maximum size for a string. As if there is a parsing error, we'll often see the symptom of the length for the following value is bogus. Although the length field is a short, it seems silly to assume we'll ever see a string 65,000 characters long. Still, it makes sense to make this an adjustable thing.
const size_t NETBUFSIZE = 1448
const char * astype_str []
 This is used to print more intelligent debug messages.
const size_t FLV_HEADER_SIZE = 0x9
 The FLV header is always 9 bytes.
const boost::uint32_t FLV_MAX_LENGTH = 0xffffff
 The maximum value that can be held in a 32 bit word.
const int AMF_BOOLEAN_SIZE = 3
const int LC_HEADER_SIZE = 16
const int MAX_LC_HEADER_SIZE = 40960
const int LC_LISTENERS_START = MAX_LC_HEADER_SIZE + LC_HEADER_SIZE
LogFiledbglogfile = LogFile::getDefaultInstance()

Detailed Description

Action Message Format specific classes of libamf.

This namespace is for all the Cygnal specific classes.

This namespace is for all the Cygnal specific classes not used by anything else in Gnash.

This namespace is for all the AMF specific classes in libamf.


Typedef Documentation

typedef std::vector<char> cygnal::longutf8_t
typedef std::vector<char> cygnal::utf8_t

Function Documentation

boost::shared_ptr<Handler::cygnal_init_t> cygnal::echo_init_func ( boost::shared_ptr< gnash::RTMPMsg > &  msg  ) 
boost::shared_ptr<cygnal::Buffer> cygnal::echo_read_func (  ) 
size_t cygnal::echo_write_func ( boost::uint8_t *  data,
size_t  size 
)
boost::shared_ptr<Handler::cygnal_init_t> cygnal::fitcDemo_class_init (  ) 
size_t cygnal::fitcDemo_read_func ( boost::uint8_t *  data,
size_t  size 
)
size_t cygnal::fitcDemo_write_func ( boost::uint8_t *  data,
size_t  size 
)
boost::shared_ptr<Handler::cygnal_init_t> cygnal::oflaDemo_init_func ( boost::shared_ptr< gnash::RTMPMsg > &  msg  ) 
boost::shared_ptr<cygnal::Buffer> cygnal::oflaDemo_read_func (  ) 
size_t cygnal::oflaDemo_write_func ( boost::uint8_t *  data,
size_t  size 
)
std::ostream& cygnal::operator<< ( std::ostream &  os,
const ServerSO &  so 
) [inline]

Dump to the specified output stream.

References cygnal::ServerSO::dump().

std::ostream& cygnal::operator<< ( std::ostream &  os,
const CRcInitFile &  crcini 
) [inline]

Dump to the specified output stream.

References cygnal::CRcInitFile::dump().

std::ostream& cygnal::operator<< ( std::ostream &  os,
const Buffer &  buf 
) [inline]

Dump to the specified output stream.

References cygnal::Buffer::dump().

std::ostream& cygnal::operator<< ( std::ostream &  os,
const Element &  el 
) [inline]

Dump to the specified output stream.

References cygnal::Element::dump().

void cygnal::resetLastAdvanceTimer (  ) 
bool DSOEXPORT cygnal::rtmp_handler ( Network::thread_params_t *  args  ) 

Referenced by event_handler().

double cygnal::secondsSinceLastAdvance (  ) 
DSOEXPORT void * cygnal::swapBytes ( void *  word,
size_t  size 
)

Swap bytes in raw data. This only swaps bytes if the host byte order is little endian.

Swap bytes in raw data.

Parameters:
word The address of the data to byte swap.
size The number of bytes in the data.
Returns:
A pointer to the raw data.

This only swaps bytes if the host byte order is little endian.

Parameters:
word The address of the data to byte swap.
size The number of bytes in the data.
Returns:
A pointer to the raw data.

Handle odd as well as even counts of bytes

Referenced by cygnal::Flv::decodeHeader(), cygnal::Flv::decodeTagHeader(), cygnal::SOL::dump(), cygnal::Element::encode(), cygnal::AMF_msg::encodeMsgHeader(), cygnal::AMF::encodeNumber(), cygnal::RTMPServer::encodePing(), gnash::RTMP::encodeUserControl(), and cygnal::RTMPServer::processClientHandShake().

int cygnal::vm_main ( int  argc,
char *  argv[] 
)

Variable Documentation

const size_t cygnal::AMF0_NUMBER_SIZE = 0x08
const int cygnal::AMF_BOOLEAN_SIZE = 3
const boost::uint8_t cygnal::AMF_HEADER_SIZE = 3

The header size in bytes of an common AMF object. The size of an AMF header is a type field (1 byte), followed by a length field. (short).

Referenced by cygnal::Element::calculateSize(), gnash::RTMP::decodeMsgBody(), cygnal::Element::encode(), main(), and cygnal::OflaDemoTest::parseOflaDemoRequest().

const boost::uint8_t cygnal::AMF_PROP_HEADER_SIZE = 5

The header size of a property. A property is a little different. It always assumes the the first field is a string that's the property name, then the type byte like a regular AMF object and length is used for the data. So a property object header is then only 5 bytes instead of the 6 that one assumes would be used.

Referenced by cygnal::Element::calculateSize(), and cygnal::Element::encode().

const boost::uint8_t cygnal::AMF_VERSION = 0

AMF version 0 is supported by default.

const char* cygnal::amftype_str[]
Initial value:
 {
    "Number",
    "Boolean",
    "String",
    "Object",
    "MovieClip",
    "Null",
    "Undefined",
    "Reference",
    "ECMAArray",
    "ObjectEnd",
    "StrictArray",
    "Date",
    "LongString",
    "Unsupported",
    "Recordset",
    "XMLObject",
    "TypedObject",
    "AMF3 Data"
}

String representations of AMF0 data types.

These are used to print more intelligent debug messages.

const char* cygnal::astype_str[]
Initial value:
 {
    "Number",
    "Boolean",
    "String",
    "Object",
    "MovieClip",
    "Null",
    "Undefined",
    "Reference",
    "ECMAArray",
    "ObjectEnd",
    "StrictArray",
    "Date",
    "LongString",
    "Unsupported",
    "Recordset",
    "XMLObject",
    "TypedObject",
    "AMF3 Data"
}

This is used to print more intelligent debug messages.

Referenced by cygnal::Element::dump().

LogFile& cygnal::dbglogfile = LogFile::getDefaultInstance()

Referenced by main().

EventCallback cygnal::eventCallback
FsCommandExecutor cygnal::execFsCommand
const size_t cygnal::FLV_HEADER_SIZE = 0x9

The FLV header is always 9 bytes.

const boost::uint32_t cygnal::FLV_MAX_LENGTH = 0xffffff

The maximum value that can be held in a 32 bit word.

map< int, Handler * > cygnal::handlers

Referenced by admin_handler().

The header size for a memory segment.

Referenced by cygnal::LcShm::formatHeader(), and cygnal::LcShm::parseHeader().

The starting address for the block of Listeners in the memory segment.

The maximum size allowed for the header of a memory segment.

const size_t cygnal::NETBUFSIZE = 1448
const boost::uint16_t cygnal::SANE_STR_SIZE = 65535

The maximum size for a string. As if there is a parsing error, we'll often see the symptom of the length for the following value is bogus. Although the length field is a short, it seems silly to assume we'll ever see a string 65,000 characters long. Still, it makes sense to make this an adjustable thing.

Referenced by cygnal::Flv::decodeMetaData().

const size_t cygnal::STREAMS_BLOCK = 1000
const boost::uint8_t cygnal::TERMINATOR = 0x09

For terminating sequences, a byte with value 0x09 is used.

Referenced by cygnal::Element::encode().