FeeServer::Header Class Reference
[Packets.]

#include <feeserver/fee_packet.hh>

List of all members.


Detailed Description

Header of a fee packet (request or acknowledge).

Public Types

enum  { HasHuffman = 0x0001, HasChecksum = 0x0002 }
enum  {
  Ok = 0, TimeOut = 1, NullPointer = 2, InvalidParam = 3,
  WrongState = 4, Failed = 5, InitFailed = 6, ChecksumFailed = 7,
  MonitorFailed = 8, OutOfMemory = 9, ThreadError = 10, ItemExists = 11,
  DetectorBase = 20, IclBase = 60, Unknown = 99, MaxRetval = 99
}

Public Member Functions

 Header (unsigned int id=0, short error=0, unsigned short flags=0)
 Header (const Header &other)
Headeroperator= (const Header &other)
bool ValidateChecksum (const unsigned char *buf, size_t size) const
void SetChecksum (const unsigned char *buf, size_t size)
size_t ToBuffer (std::vector< unsigned char > &buffer) const
size_t FromBuffer (const std::vector< unsigned char > &buffer)
size_t FromBuffer (const unsigned char *buffer, size_t size)

Static Public Member Functions

static size_t Size ()
static const char * Code2String (short code)

Public Attributes

unsigned int _id
short _error_code
unsigned short _flags
unsigned int _check_sum

Member Enumeration Documentation

anonymous enum

Flags

Enumerator:
HasHuffman 
HasChecksum 

anonymous enum

Error codes

Enumerator:
Ok  Execution was successful, no error
TimeOut  A timeout occured
NullPointer  Nullpointer exception encountered
InvalidParam  One of incoming parameters is invalid
WrongState  Operation was called in wrong state
Failed  Execution simply failed
InitFailed  Initialisation of CE failed
ChecksumFailed  Command data corrupted, wrong checksum.
MonitorFailed  Monitoring thread initialising failed.
OutOfMemory  Define for insufficient memory -> error
ThreadError  error concering Threads (-initialization)
ItemExists  return val for published item name already exists
DetectorBase  Start of detector specific error codes
IclBase  Intercom Layer specific error codes
Unknown  Unexpected return value encountered
MaxRetval  Maximum return value


Constructor & Destructor Documentation

FeeServer::Header::Header ( unsigned int  id = 0,
short  error = 0,
unsigned short  flags = 0 
)

Constructor

Parameters:
id Acknowledge Id. Copy of the request number.
error Return code
flags Flags

FeeServer::Header::Header ( const Header other  ) 

copy constructor


Member Function Documentation

FeeServer::Header & FeeServer::Header::operator= ( const Header other  ) 

Assignment operator

bool FeeServer::Header::ValidateChecksum ( const unsigned char *  buf,
size_t  size 
) const

Check that the check sum stored corresponds to the check sum of the passed buffer.

Parameters:
buf Buffer to check
size Size if buffer
Returns:
true if the check sum matches, false otherwise

void FeeServer::Header::SetChecksum ( const unsigned char *  buf,
size_t  size 
)

Calculate the check sum of passed buffer, and set the stored check sum.

Parameters:
buf Buffer calculate check sum for
size Size if buffer

size_t FeeServer::Header::ToBuffer ( std::vector< unsigned char > &  buffer  )  const

Copy to a byte buffer

Parameters:
buffer Buffer to copy to.
Returns:
number of bytes written to buffer

size_t FeeServer::Header::FromBuffer ( const std::vector< unsigned char > &  buffer  ) 

Copy from a byte buffer

Parameters:
buffer Buffer to copy from.
Returns:
number of bytes read from buffer

size_t FeeServer::Header::FromBuffer ( const unsigned char *  buffer,
size_t  size 
)

Copy from a byte buffer

Parameters:
buffer Buffer to copy from.
size Size of buffer
Returns:
number of bytes read from buffer

size_t FeeServer::Header::Size (  )  [static]

Size of the header structure

const char * FeeServer::Header::Code2String ( short  code  )  [static]

Convert the event code into a string

Examples:
test_client.cc.


Member Data Documentation

unsigned int FeeServer::Header::_id

Identifier of request/acknowledge

Return code

unsigned short FeeServer::Header::_flags

Flags of request/acknowledge

Check sum of payload data


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

Generated on Thu Jun 26 17:02:32 2008 for FeeServer++ 0.9 by  doxygen 1.5.6