cromp_transaction Class Reference

#include <cromp_transaction.h>

List of all members.

Public Types

enum  outcomes {
  OKAY = common::OKAY, GARBAGE = common::GARBAGE, PARTIAL = common::PARTIAL, WAY_TOO_SMALL,
  header, ILLEGAL_LENGTH, allow
}

Public Member Functions

virtual ~cromp_transaction ()
 IMPLEMENT_CLASS_NAME ("cromp_transaction")

Static Public Member Functions

static const char * outcome_name (const outcome &to_name)
static void flatten (byte_array &packed_form, const infoton &request, const octopus_request_id &id)
static bool unflatten (byte_array &packed_form, byte_array &still_flat, octopus_request_id &id)
static int minimum_flat_size (const octopus_request_id &id)
static int minimum_flat_size (const string_array &classifier, const octopus_request_id &id)
static bool resynchronize (byte_array &packed_form)
static outcome peek_header (const byte_array &packed_form, int &length)


Detailed Description

Definition at line 34 of file cromp_transaction.h.


Member Enumeration Documentation

enum cromp_transaction::outcomes

Enumerator:
OKAY 
GARBAGE 
PARTIAL 
WAY_TOO_SMALL 
header 
ILLEGAL_LENGTH 
allow 

Definition at line 40 of file cromp_transaction.h.


Constructor & Destructor Documentation

cromp_transaction::~cromp_transaction (  )  [virtual]

Definition at line 53 of file cromp_transaction.cpp.


Member Function Documentation

cromp_transaction::IMPLEMENT_CLASS_NAME ( "cromp_transaction"   ) 

const char * cromp_transaction::outcome_name ( const outcome to_name  )  [static]

Definition at line 56 of file cromp_transaction.cpp.

References ILLEGAL_LENGTH, communication_commons::outcome_name(), outcome::value(), and WAY_TOO_SMALL.

void cromp_transaction::flatten ( byte_array packed_form,
const infoton request,
const octopus_request_id id 
) [static]

Definition at line 103 of file cromp_transaction.cpp.

References continuable_error, copy(), cromp_name_array(), infoton::fast_pack(), FUNCDEF, array< contents >::last(), array< contents >::length(), LOG, static_class_name, array< contents >::subarray(), and unflatten().

Referenced by cromp_common::pack_and_ship().

bool cromp_transaction::unflatten ( byte_array packed_form,
byte_array still_flat,
octopus_request_id id 
) [static]

Definition at line 149 of file cromp_transaction.cpp.

References continuable_error, FUNCDEF, array< contents >::length(), LOG, OKAY, octopus_request_id::packed_size(), peek_header(), array< contents >::reset(), static_class_name, array< contents >::subarray(), octopus_request_id::unpack(), and array< contents >::zap().

Referenced by flatten().

int cromp_transaction::minimum_flat_size ( const octopus_request_id id  )  [static]

Definition at line 89 of file cromp_transaction.cpp.

References cromp_name_array(), and array< contents >::length().

Referenced by minimum_flat_size().

int cromp_transaction::minimum_flat_size ( const string_array classifier,
const octopus_request_id id 
) [static]

Definition at line 95 of file cromp_transaction.cpp.

References infoton::fast_pack_overhead(), and minimum_flat_size().

bool cromp_transaction::resynchronize ( byte_array packed_form  )  [static]

Definition at line 186 of file cromp_transaction.cpp.

References CHECK_LENGTH, FUNCDEF, parser_bits::is_hexadecimal(), array< contents >::length(), LOG, and WHACK_AND_GO.

outcome cromp_transaction::peek_header ( const byte_array packed_form,
int &  length 
) [static]

Definition at line 220 of file cromp_transaction.cpp.

References FUNCDEF, GARBAGE, ILLEGAL_LENGTH, parser_bits::is_hexadecimal(), array< contents >::length(), LOG, MAXIMUM_TRANSACTION, OKAY, PARTIAL, istring::s(), and WAY_TOO_SMALL.

Referenced by unflatten().


The documentation for this class was generated from the following files:
Generated on Thu Aug 28 04:34:54 2008 for HOOPLE Libraries by  doxygen 1.5.1