Public Member Functions | Public Attributes

TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header Class Reference

private: Storage for header information for Routing_Slip blocks. More...

Inheritance diagram for TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header:
Inheritance graph
[legend]
Collaboration diagram for TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Routing_Slip_Header ()
virtual size_t extract_header (Persistent_Storage_Block &psb, size_t offset=0)
virtual size_t put_header (Persistent_Storage_Block &psb, size_t offset=0)

Public Attributes

Block_Number next_routing_slip_block
 The next event in the system.
Block_Serial_Number next_serial_number
 The next expected serial number.
Block_Number event_block

Detailed Description

private: Storage for header information for Routing_Slip blocks.

Definition at line 156 of file Routing_Slip_Persistence_Manager.h.


Constructor & Destructor Documentation

TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header::Routing_Slip_Header (  ) 

Member Function Documentation

size_t TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header::extract_header ( Persistent_Storage_Block psb,
size_t  offset = 0 
) [virtual]

Reimplemented from TAO_Notify::Routing_Slip_Persistence_Manager::Block_Header.

Definition at line 348 of file Routing_Slip_Persistence_Manager.cpp.

{
}

size_t
Routing_Slip_Persistence_Manager::Routing_Slip_Header::extract_header(
  Persistent_Storage_Block& psb, size_t offset)
{
  size_t pos = offset;
  pos = this->Block_Header::extract_header(psb, pos);
  unsigned char* data = psb.data();
  next_routing_slip_block = data[pos++];
  next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++];
  next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++];
  next_routing_slip_block = (next_routing_slip_block << 8) + data[pos++];
  next_serial_number = data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];
  next_serial_number = (next_serial_number << 8) + data[pos++];

size_t TAO_Notify::Routing_Slip_Persistence_Manager::Routing_Slip_Header::put_header ( Persistent_Storage_Block psb,
size_t  offset = 0 
) [virtual]

Reimplemented from TAO_Notify::Routing_Slip_Persistence_Manager::Block_Header.

Definition at line 374 of file Routing_Slip_Persistence_Manager.cpp.

{
  // Assume that our psb can hold our small amount of data...
  size_t pos = offset;
  // Store serial number, next_overflow and data_size
  pos = this->Block_Header::put_header(psb, pos);

  unsigned char* data = psb.data();
  // Store next_routing_slip_block
  data[pos++] = static_cast<unsigned char> (next_routing_slip_block >> 24);
  data[pos++] = static_cast<unsigned char> ((next_routing_slip_block >> 16) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_routing_slip_block >> 8) & 0xff);
  data[pos++] = static_cast<unsigned char> (next_routing_slip_block & 0xff);
  // Store serial_number
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 56) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 48) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 40) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 32) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 24) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 16) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 8) & 0xff);
  data[pos++] = static_cast<unsigned char> ((next_serial_number >> 0) & 0xff);
  // Store event_block


Member Data Documentation

Definition at line 170 of file Routing_Slip_Persistence_Manager.h.

The next event in the system.

Definition at line 167 of file Routing_Slip_Persistence_Manager.h.

The next expected serial number.

Definition at line 169 of file Routing_Slip_Persistence_Manager.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines