Skip to content
/ shape Public

Delphi Custom Message Serializer (Marshaller) and Queue, works on both Delphi and Free Pascal

Notifications You must be signed in to change notification settings

dkstar88/shape

Repository files navigation

SHAPE

Delphi Custom Message Serializer (Marshaller) and Queue, works on both Delphi and Free Pascal


Version Author Date
Version 1 William Yang 2010-11-11
Version 1.1 William Yang 2010-12-13

Table of Contents

  • Message Format
  • Encoding Option Table
  • Element Type ID Table
  • Descriptor File
  • Encoding Example

Message Format

Message Frame = [Message Size][Encoding Option][Element]…[Element]

Message Size = WORD

Encoding Option = BYTE

Encoding Option Table


Option Bit Comment
0000 0001 ZLIB Compressed
0000 0010 Encrypted
0000 0100 Named Index, Named Index Prepended to all Element values

Element = [Element Type][*Element Size][Element Binary]

Element Type = Byte

Element Size = Word

Element Binary = \00..\FF * Element Size

Element Type ID Table

Element Type ID Table

Element Type ID (Hex)

Element Type Name

Has Element Size

FF

Empty Element

No

00

Boolean (False)

No

01

Boolean (True)

No

02

Int16

No

03

Int/Int32

No

04

Int64

No

05

UInt16

No

07

UInt32

No

08

UInt64

No

09

Single (4B)

No

0A

Double (8B)

No

10

Str/AnsiString (Null Terminated)

No

11

Bin/Binary

Yes

12

UTF8

Yes

13

UTF16

Yes

20

Named Index (String)

Yes

Routing Information

40

Command - AnsiString

No

41

Destination - AnsiString

No

Special IDs

50

Message ID – AnsiString * 64

No

51

Message Timestamp INT32

No

52

Session ID – AnsiString * 64

No | Element Type ID (Hex) | Element Type Name | Has Element Size |

FF

Empty Element

No

00

Boolean (False)

No

01

Boolean (True)

No

02

Int16

No

03

Int/Int32

No

04

Int64

No

05

UInt16

No

07

UInt32

No

08

UInt64

No

09

Single (4B)

No

0A

Double (8B)

No

10

Str/AnsiString (Null Terminated)

No

11

Bin/Binary

Yes

12

UTF8

Yes

13

UTF16

Yes

20

Named Index (String)

Yes

Routing Information

40

Command - AnsiString

No

41

Destination - AnsiString

No

Special IDs

50

Message ID – AnsiString * 64

No

51

Message Timestamp INT32

No

52

Session ID – AnsiString * 64

No

About

Delphi Custom Message Serializer (Marshaller) and Queue, works on both Delphi and Free Pascal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages