Implements a data packet reader using binary data packets.
Source position: bufdataset.pas line 458
type TFpcBinaryDatapacketReader = TFpcBinaryDatapacketHandler; |
TFpcBinaryDatapacketReader is a TDatapacketReader descendant that implements a data packet reader using binary data packets. Binary data packets use the following layout:
Section | Name | Length | Description |
Header | Identification | 13 bytes | Contains the value 'BinBufDataSet' |
Version | 1 byte | Version number | |
Field Definition Count | 2 bytes | Column Layout for field definition values | |
Field Definitions | Field Name Length | 2 bytes | Section occurs the number of times indicated in Field Definition Count |
Field Name | See above | Name of the field in the dataset | |
Display Name Length | 2 bytes | ||
Display Name | See above | Caption for the field | |
Data Type | 2 bytes | ||
Read-Only Attribute | 1 byte | 0=read/write, 1=read-only | |
Parameters | AutoInc Value | 4 bytes | Integer value for the auto-increment field type |
Row Header | Row Marker | 1 byte | Contains the value $fe |
Row State | 1 byte | 0=original, 1=deleted, 2=inserted, 3=modified | |
Update Order | 4 bytes | ||
Null Bitmap | Variable length. | 1 byte required for eight fields; 2 bytes for 16 fields, etc. See Field Definition Count. Bit values are set to 1 when the corresponding field is null. | |
Row Data | Optional Field Length | 4 bytes | Variable-length fields are prefixed with their length. Fixed-length fields do not require this entry. Null fields are not stored. |
Field Data | Bytes values for the field. See Optional Field Length. | Occurs the number of times needed for Field Definition Count. |
|
Implements a data packet reader for TBufDataset. |