|
Panda3D
|
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a data file. More...
Public Member Functions | |
| Datagram () | |
| Constructs an empty datagram. | |
| Datagram (Datagram const copy) | |
| Datagram (string data) | |
| Constructs a datagram from an existing block of data. | |
| addBeFloat32 (float value) | |
| Adds a 32-bit single-precision big-endian floating-point number to the datagram. | |
| addBeFloat64 (double value) | |
| Adds a 64-bit big-endian floating-point number to the datagram. | |
| addBeInt16 (short int value) | |
| Adds a signed 16-bit big-endian integer to the datagram. | |
| addBeInt32 (int value) | |
| Adds a signed 32-bit big-endian integer to the datagram. | |
| addBeInt64 (long long int value) | |
| Adds a signed 64-bit big-endian integer to the datagram. | |
| addBeUint16 (unsigned short int value) | |
| Adds an unsigned 16-bit big-endian integer to the datagram. | |
| addBeUint32 (unsigned int value) | |
| Adds an unsigned 32-bit big-endian integer to the datagram. | |
| addBeUint64 (unsigned long long int value) | |
| Adds an unsigned 64-bit big-endian integer to the datagram. | |
| addBool (bool value) | |
| Adds a boolean value to the datagram. | |
| addFixedString (string str, unsigned int size) | |
| Adds a fixed-length string to the datagram. | |
| addFloat32 (float value) | |
| Adds a 32-bit single-precision floating-point number to the datagram. | |
| addFloat64 (double value) | |
| Adds a 64-bit floating-point number to the datagram. | |
| addInt16 (short int value) | |
| Adds a signed 16-bit integer to the datagram. | |
| addInt32 (int value) | |
| Adds a signed 32-bit integer to the datagram. | |
| addInt64 (long long int value) | |
| Adds a signed 64-bit integer to the datagram. | |
| addInt8 (signed char value) | |
| Adds a signed 8-bit integer to the datagram. | |
| addStdfloat (float value) | |
| Adds either a 32-bit or a 64-bit floating-point number, according to set_stdfloat_double(). | |
| addString (string str) | |
| Adds a variable-length string to the datagram. | |
| addString32 (string str) | |
| Adds a variable-length string to the datagram, using a 32-bit length field to allow very long strings. | |
| addUint16 (unsigned short int value) | |
| Adds an unsigned 16-bit integer to the datagram. | |
| addUint32 (unsigned int value) | |
| Adds an unsigned 32-bit integer to the datagram. | |
| addUint64 (unsigned long long int value) | |
| Adds an unsigned 64-bit integer to the datagram. | |
| addUint8 (unsigned char value) | |
| Adds an unsigned 8-bit integer to the datagram. | |
| addWstring (string str) | |
| Adds a variable-length wstring to the datagram. | |
| addZString (string str) | |
| Adds a variable-length string to the datagram, as a NULL-terminated string. | |
| appendData (string data) | |
| Appends some more raw data to the end of the datagram. | |
| clear () | |
| Resets the datagram to empty, in preparation for building up a new datagram. | |
| copyArray (ConstPointerToArrayunsigned char data) | |
| Replaces the data in the Datagram with a copy of the data in the indicated CPTA_uchar. | |
| dumpHex (ostream out, unsigned int indent) | |
| Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values. | |
| dumpHex (ostream out) | |
| Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values. | |
| ConstPointerToArrayunsigned char | getArray () |
| Returns a const pointer to the actual data in the Datagram. | |
| getData () | |
| Returns a pointer to the beginning of the datagram's data. | |
| unsigned int | getLength () |
| Returns the number of bytes in the datagram. | |
| string | getMessage () |
| Returns the datagram's data as a string. | |
| bool | getStdfloatDouble () |
| Returns the stdfloat_double flag. | |
| PointerToArrayunsigned char | modifyArray () |
| Returns a modifiable pointer to the actual data in the Datagram. | |
| bool | operator!= (Datagram const other) |
| bool | operator< (Datagram const other) |
| Datagram | operator= (Datagram const copy) |
| bool | operator== (Datagram const other) |
| output (ostream out) | |
| Write a string representation of this instance to <out>. | |
| padBytes (unsigned int size) | |
| Adds the indicated number of zero bytes to the datagram. | |
| setArray (PointerToArrayunsigned char data) | |
| Replaces the data in the Datagram with the data in the indicated PTA_uchar. | |
| setStdfloatDouble (bool stdfloat_double) | |
| Changes the stdfloat_double flag, which defines the operation performed by add_stdfloat() and DatagramIterator.get_stdfloat(). | |
| write (ostream out, unsigned int indent) | |
| Write a string representation of this instance to <out>. | |
| write (ostream out) | |
| Write a string representation of this instance to <out>. | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a data file.
Data elements should be added one at a time, in order, to the Datagram. The nature and contents of the data elements are totally up to the user. When a Datagram has been transmitted and received, its data elements may be extracted using a DatagramIterator; it is up to the caller to know the correct type of each data element in order.
A Datagram is itself headerless; it is simply a collection of data elements.
| Datagram | ( | ) |
Constructs an empty datagram.
| Datagram | ( | string | data | ) |
Constructs a datagram from an existing block of data.
| addBeFloat32 | ( | float | value | ) |
Adds a 32-bit single-precision big-endian floating-point number to the datagram.
| addBeFloat64 | ( | double | value | ) |
Adds a 64-bit big-endian floating-point number to the datagram.
| addBeInt16 | ( | short int | value | ) |
Adds a signed 16-bit big-endian integer to the datagram.
| addBeInt32 | ( | int | value | ) |
Adds a signed 32-bit big-endian integer to the datagram.
| addBeInt64 | ( | long long int | value | ) |
Adds a signed 64-bit big-endian integer to the datagram.
| addBeUint16 | ( | unsigned short int | value | ) |
Adds an unsigned 16-bit big-endian integer to the datagram.
| addBeUint32 | ( | unsigned int | value | ) |
Adds an unsigned 32-bit big-endian integer to the datagram.
| addBeUint64 | ( | unsigned long long int | value | ) |
Adds an unsigned 64-bit big-endian integer to the datagram.
| addBool | ( | bool | value | ) |
Adds a boolean value to the datagram.
| addFixedString | ( | string | str, |
| unsigned int | size | ||
| ) |
Adds a fixed-length string to the datagram.
If the string given is less than the requested size, this will pad the string out with zeroes; if it is greater than the requested size, this will silently truncate the string.
| addFloat32 | ( | float | value | ) |
Adds a 32-bit single-precision floating-point number to the datagram.
Since this kind of float is not necessarily portable across different architectures, special care is required.
| addFloat64 | ( | double | value | ) |
Adds a 64-bit floating-point number to the datagram.
| addInt16 | ( | short int | value | ) |
Adds a signed 16-bit integer to the datagram.
| addInt32 | ( | int | value | ) |
Adds a signed 32-bit integer to the datagram.
| addInt64 | ( | long long int | value | ) |
Adds a signed 64-bit integer to the datagram.
| addInt8 | ( | signed char | value | ) |
Adds a signed 8-bit integer to the datagram.
| addStdfloat | ( | float | value | ) |
Adds either a 32-bit or a 64-bit floating-point number, according to set_stdfloat_double().
| addString | ( | string | str | ) |
Adds a variable-length string to the datagram.
This actually adds a count followed by n bytes.
| addString32 | ( | string | str | ) |
Adds a variable-length string to the datagram, using a 32-bit length field to allow very long strings.
| addUint16 | ( | unsigned short int | value | ) |
Adds an unsigned 16-bit integer to the datagram.
| addUint32 | ( | unsigned int | value | ) |
Adds an unsigned 32-bit integer to the datagram.
| addUint64 | ( | unsigned long long int | value | ) |
Adds an unsigned 64-bit integer to the datagram.
| addUint8 | ( | unsigned char | value | ) |
Adds an unsigned 8-bit integer to the datagram.
| addWstring | ( | string | str | ) |
Adds a variable-length wstring to the datagram.
| addZString | ( | string | str | ) |
Adds a variable-length string to the datagram, as a NULL-terminated string.
| appendData | ( | string | data | ) |
Appends some more raw data to the end of the datagram.
| clear | ( | ) |
Resets the datagram to empty, in preparation for building up a new datagram.
| copyArray | ( | ConstPointerToArrayunsigned char | data | ) |
Replaces the data in the Datagram with a copy of the data in the indicated CPTA_uchar.
Unlike set_array(), a complete copy is made of the data; subsequent changes to the Datagram will *not* change the source CPTA_uchar.
| dumpHex | ( | ostream | out | ) |
Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values.
Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values.
| ConstPointerToArrayunsigned char getArray | ( | ) |
Returns a const pointer to the actual data in the Datagram.
| static TypeHandle getClassType | ( | ) | [static] |
Reimplemented from TypedObject.
Reimplemented in NetDatagram.
| getData | ( | ) |
Returns a pointer to the beginning of the datagram's data.
| unsigned int getLength | ( | ) |
Returns the number of bytes in the datagram.
| string getMessage | ( | ) |
Returns the datagram's data as a string.
| bool getStdfloatDouble | ( | ) |
Returns the stdfloat_double flag.
See set_stdfloat_double().
| PointerToArrayunsigned char modifyArray | ( | ) |
Returns a modifiable pointer to the actual data in the Datagram.
| bool operator!= | ( | Datagram const | other | ) |
| bool operator< | ( | Datagram const | other | ) |
Reimplemented in NetDatagram.
| bool operator== | ( | Datagram const | other | ) |
| output | ( | ostream | out | ) |
Write a string representation of this instance to <out>.
| padBytes | ( | unsigned int | size | ) |
Adds the indicated number of zero bytes to the datagram.
| setArray | ( | PointerToArrayunsigned char | data | ) |
| setStdfloatDouble | ( | bool | stdfloat_double | ) |
Changes the stdfloat_double flag, which defines the operation performed by add_stdfloat() and DatagramIterator.get_stdfloat().
When this is true, add_stdfloat() adds a 64-bit floating-point number; when it is false, it adds a 32-bit floating-point number. The default is based on the STDFLOAT_DOUBLE compilation flag.
| write | ( | ostream | out | ) |
Write a string representation of this instance to <out>.
1.7.3