UM .NET API 6.17.1

- Main Page
- Related Pages
- Packages
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
com.latencybusters.lbm.sdm.LBMSDMessage Class Reference

LBMSDMessage is the main class for managing an LBM SDM message. It heavily relies on class LBMSDMFields to collect LBMSDMField and LBMSDMArray classes in to a message. LBMSDMessage is the primary interface for applications. More...

Inheritance diagram for com.latencybusters.lbm.sdm.LBMSDMessage:

## Public Member Functions
| LBMSDMessage ()
| Create an empty SDM message.
| LBMSDMessage (LBMSDMFieldsAttribute user_attr)
| Create an empty SDM message using a field set attribute. More...
| LBMSDMessage (LBMSDMFields args)
| Create an SDM message with a predefined set of fields. More...
virtual void | set (LBMSDMFields args)
| Add to the SDM message a set of fields. This copies the reference, so the caller must retain the field set until the message no longer needs the field set. More...
virtual void | set (LBMSDMField newfield)
| Set an SDM message field. The field name must exist already. More...
virtual void | set (LBMSDMField newfield, int fieldidx)
| Set an SDM message field based on the message element index. The field must exist already. More...
virtual void | set (LBMSDMField newfield, int fieldidx, int arrayidx)
| Set an SDM message field based on the message element index and the array index. More...
virtual LBMSDMFields | get_fset ()
| Get the field set that is associated with this message. More...
virtual LBMSDMFieldsAttribute | get_attr ()
| Get the field set attributes are associated with this message A copy is returned. More...
virtual void | add (LBMSDMField f)
| Add a field to a message - the field set will be automatically created if needed. More...
virtual void | remove (int pos)
| Remove a field by specifying the index. More...
virtual void | remove (System.String name)
| Remove a field by specifying the name. More...
virtual void | parse (byte[] buf, int offset)
| Parse a byte buffer containing a raw SDM message (as received on a socket) to fill the SDM message object. The byte buffer must be in network order. More...
virtual void | parse (byte[] buf)
| Parse a byte buffer containing a raw SDM message (as received on a socket) to fill the SDM message object. The byte buffer must be in network order. More...
virtual byte[] | data ()
| Get a byte buffer (array) to a raw SDM message in network order. This buffer can be transmitted, for example via a socket. More...
virtual System.String | toDbgString ()
| Dump an internal (ascii) representation of this message. More...
override System.String | ToString ()
| Dump a string (ascii) representation of this message. More...
virtual new System.Object | Clone ()
| Clone an SDM message. More...
virtual bool | test_clone (LBMSDMessage m)
| An api that is used during testing to ensure that cloned objects are truly cloned. This API is not for general use. More...
virtual LBMSDMField | locate (System.String name)
| Locate a field by name. More...
virtual int | count ()
| Count the number of fields in a message. More...
virtual int | length ()
| Get the raw length of the message. This API will rebuild the message. It is more efficient to call data() and get the length of the returned array instead of calling data() and length() More...
virtual LBMSDMField | get (int pos)
| Get a field by the index. More...
virtual void | set_debug_level (int level)
| Set the debug level for processing this SDM message. Currently all debugs go to standard out. More...
virtual void | log (System.String s)
| Log an event. If debug level is set greater than 0, output to stderr. More...

## Public Attributes
const int | DEBUG_BASIC = 1
| Debug flag for basic debug output.
const int | DEBUG_VERBOSE_PARSING = 2
| Debug flag for verbose message parsing output.

## Detailed Description

LBMSDMessage is the main class for managing an LBM SDM message. It heavily relies on class LBMSDMFields to collect LBMSDMField and LBMSDMArray classes in to a message. LBMSDMessage is the primary interface for applications.

## Constructor & Destructor Documentation

com.latencybusters.lbm.sdm.LBMSDMessage.LBMSDMessage | ( | LBMSDMFieldsAttribute | user_attr | ) |

Create an empty SDM message using a field set attribute.

Parameters

  user_attr | A field set attribute object

com.latencybusters.lbm.sdm.LBMSDMessage.LBMSDMessage | ( | LBMSDMFields | args | ) |

Create an SDM message with a predefined set of fields.

Parameters

  args | The set of fields to be added to the SDM message

## Member Function Documentation

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.add | ( | LBMSDMField | f | ) |
| virtual

Add a field to a message - the field set will be automatically created if needed.

Parameters

  f | The LBMSDMField object to be added

References com.latencybusters.lbm.sdm.LBMSDMFields.add().

virtual new System.Object com.latencybusters.lbm.sdm.LBMSDMessage.Clone | ( |  | ) |
| virtual

Clone an SDM message.

CloneNotSupportedException which should not happen :-)

Returns
  A complete clone of the message

References com.latencybusters.lbm.sdm.LBMSDMFields.Clone(), and com.latencybusters.lbm.sdm.LBMSDMessage.Clone().

Referenced by com.latencybusters.lbm.sdm.LBMSDMessage.Clone(), com.latencybusters.lbm.sdm.LBMSDMFieldMessage.set(), and com.latencybusters.lbm.sdm.LBMSDMArrayMessage.set().

virtual int com.latencybusters.lbm.sdm.LBMSDMessage.count | ( |  | ) |
| virtual

Count the number of fields in a message.

Returns
  The number of fields in the message

References com.latencybusters.lbm.sdm.LBMSDMFields.length().

virtual byte [] com.latencybusters.lbm.sdm.LBMSDMessage.data | ( |  | ) |
| virtual

Get a byte buffer (array) to a raw SDM message in network order. This buffer can be transmitted, for example via a socket.

IndexOutOfBoundsException if the byte buffer can not be build

LBMSDMException when an unexpected error occurs within LBMSDM

Returns
  A byte buffer containing a network ordered raw SDM message

References com.latencybusters.lbm.sdm.LBMSDMFieldIterator.Current, com.latencybusters.lbm.sdm.LBMSDMRawUint32.format(), com.latencybusters.lbm.sdm.LBMSDMField.format(), com.latencybusters.lbm.sdm.LBMSDMField.format_name(), com.latencybusters.lbm.sdm.LBMSDMField.format_type(), com.latencybusters.lbm.sdm.LBMSDMField.get_len(), com.latencybusters.lbm.sdm.LBMSDMField.get_name(), com.latencybusters.lbm.sdm.LBMSDMRawUint32.length, com.latencybusters.lbm.sdm.LBMSDMFields.length(), com.latencybusters.lbm.sdm.LBMSDMFieldIterator.MoveNext(), com.latencybusters.lbm.sdm.LBMSDMField.name_len(), and com.latencybusters.lbm.sdm.LBMSDMField.type_len().

Referenced by com.latencybusters.lbm.sdm.LBMSDMFieldMessage.Clone(), com.latencybusters.lbm.sdm.LBMSDMFieldMessage.get_len(), and com.latencybusters.lbm.sdm.LBMSDMFieldMessage.toDbgString().

virtual LBMSDMField com.latencybusters.lbm.sdm.LBMSDMessage.get | ( | int | pos | ) |
| virtual

Get a field by the index.

Parameters

  pos | The index of the field required

Returns
  The LBMSDMField object

References com.latencybusters.lbm.sdm.LBMSDMFields.get().

Referenced by com.latencybusters.lbm.sdm.LBMSDMArrayMessage.set().

virtual LBMSDMFieldsAttribute com.latencybusters.lbm.sdm.LBMSDMessage.get_attr | ( |  | ) |
| virtual

Get the field set attributes are associated with this message A copy is returned.

Returns
  LBMSDMFieldsAttribute object

References com.latencybusters.lbm.sdm.LBMSDMFields.get_attr().

virtual LBMSDMFields com.latencybusters.lbm.sdm.LBMSDMessage.get_fset | ( |  | ) |
| virtual

Get the field set that is associated with this message.

Returns
  LBMSDMFields object

virtual int com.latencybusters.lbm.sdm.LBMSDMessage.length | ( |  | ) |
| virtual

Get the raw length of the message. This API will rebuild the message. It is more efficient to call data() and get the length of the returned array instead of calling data() and length()

Returns
  The number of bytes the message will use

Referenced by com.latencybusters.lbm.sdm.LBMSDMArrayMessage.get_len(), and com.latencybusters.lbm.sdm.LBMSDMFieldMessage.toDbgString().

virtual LBMSDMField com.latencybusters.lbm.sdm.LBMSDMessage.locate | ( | System.String | name | ) |
| virtual

Locate a field by name.

Parameters

  name | Name of field being located

Returns
  The relevant LBMSDMField or null

References com.latencybusters.lbm.sdm.LBMSDMFields.locate().

virtual void com.latencybusters.lbm.sdm.LBMSDM.log | ( | System.String | s | ) |
| virtual inherited

Log an event. If debug level is set greater than 0, output to stderr.

Parameters

  s | String containing the event to log

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.parse | ( | byte[] | buf,
|  | int | offset
| ) |  |
| virtual

Parse a byte buffer containing a raw SDM message (as received on a socket) to fill the SDM message object. The byte buffer must be in network order.

for example if the message has bad data

LBMSDMException if a problem occurs parsing the message buffer,

Parameters

  buf | The byte array (buffer) containing the raw SDM message to be parsed
  offset | The index in the array where parsing should start

References com.latencybusters.lbm.sdm.LBMSDMFieldUint16.get(), com.latencybusters.lbm.sdm.LBMSDMFieldUint32.get(), com.latencybusters.lbm.sdm.LBMSDMFieldString.get(), com.latencybusters.lbm.sdm.LBMSDMFieldUint16.parse(), com.latencybusters.lbm.sdm.LBMSDMFieldUint32.parse(), com.latencybusters.lbm.sdm.LBMSDMField.parse(), com.latencybusters.lbm.sdm.LBMSDMFieldString.parse_name(), com.latencybusters.lbm.sdm.LBMSDMField.toDbgString(), com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_BLOB, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_BOOLEAN, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_DECIMAL, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_DOUBLE, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_FLOAT, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_INT16, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_INT32, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_INT64, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_INT8, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_MESSAGE, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_STRING, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_TIMESTAMP, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_UINT16, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_UINT32, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_UINT64, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_UINT8, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_ARRAY_UNICODE, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_BLOB, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_BOOLEAN, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_DECIMAL, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_DOUBLE, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_FLOAT, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_INT16, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_INT32, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_INT64, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_INT8, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_MESSAGE, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_STRING, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_TIMESTAMP, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_UINT16, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_UINT32, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_UINT64, com.latencybusters.lbm.sdm.LBMSDMField.TYPE_UINT8, and com.latencybusters.lbm.sdm.LBMSDMField.TYPE_UNICODE.

Referenced by com.latencybusters.lbm.sdm.LBMSDMFieldMessage.Clone(), and com.latencybusters.lbm.sdm.LBMSDMFieldMessage.parse().

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.parse | ( | byte[] | buf | ) |
| virtual

Parse a byte buffer containing a raw SDM message (as received on a socket) to fill the SDM message object. The byte buffer must be in network order.

for example if the message has bad data

LBMSDMException if a problem occurs parsing the message buffer

Parameters

  buf | The byte array (buffer) containing the raw SDM message to be parsed

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.remove | ( | int | pos | ) |
| virtual

Remove a field by specifying the index.

Parameters

  pos | The index of the field

References com.latencybusters.lbm.sdm.LBMSDMFields.remove().

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.remove | ( | System.String | name | ) |
| virtual

Remove a field by specifying the name.

Parameters

  name | The field name to be removed

References com.latencybusters.lbm.sdm.LBMSDMFields.remove().

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.set | ( | LBMSDMFields | args | ) |
| virtual

Add to the SDM message a set of fields. This copies the reference, so the caller must retain the field set until the message no longer needs the field set.

See also
  LBMSDMFields

Parameters

  args | The set of fields to be added to the SDM message

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.set | ( | LBMSDMField | newfield | ) |
| virtual

Set an SDM message field. The field name must exist already.

LBMSDMAddingFieldException when the field doesn't exist

Parameters

  newfield | The new field

References com.latencybusters.lbm.sdm.LBMSDMFields.set().

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.set | ( | LBMSDMField | newfield,
|  | int | fieldidx
| ) |  |
| virtual

Set an SDM message field based on the message element index. The field must exist already.

LBMSDMAddingFieldException when the field doesn't exist

Parameters

  newfield | The new field
  fieldidx | The field index in the message

References com.latencybusters.lbm.sdm.LBMSDMFields.set().

virtual void com.latencybusters.lbm.sdm.LBMSDMessage.set | ( | LBMSDMField | newfield,
|  | int | fieldidx,
|  | int | arrayidx
| ) |  |
| virtual

Set an SDM message field based on the message element index and the array index.

LBMSDMAddingFieldException when the field doesn't exist

Parameters

  newfield | The new field
  fieldidx | The field index in the message
  arrayidx | The array index in the field

References com.latencybusters.lbm.sdm.LBMSDMFields.set().

virtual void com.latencybusters.lbm.sdm.LBMSDM.set_debug_level | ( | int | level | ) |
| virtual inherited

Set the debug level for processing this SDM message. Currently all debugs go to standard out.

Parameters

  level | Debug level to set

virtual bool com.latencybusters.lbm.sdm.LBMSDMessage.test_clone | ( | LBMSDMessage | m | ) |
| virtual

An api that is used during testing to ensure that cloned objects are truly cloned. This API is not for general use.

Parameters

  m | An SDM message object to test against this object

Returns
  true if fields are identical (should not be if correctly cloned)

virtual System.String com.latencybusters.lbm.sdm.LBMSDMessage.toDbgString | ( |  | ) |
| virtual

Dump an internal (ascii) representation of this message.

Returns
  A string containing the message

References com.latencybusters.lbm.sdm.LBMSDMFields.toDbgString().

Referenced by com.latencybusters.lbm.sdm.LBMSDMFieldMessage.toDbgString().

override System.String com.latencybusters.lbm.sdm.LBMSDMessage.ToString | ( |  | ) |

Dump a string (ascii) representation of this message.

Returns
  A string containing the message

References com.latencybusters.lbm.sdm.LBMSDMFields.toDbgString().

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

- LBMSDMessage.cs