Giter Club home page Giter Club logo

shape's Introduction

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

shape's People

Contributors

dkstar88 avatar

Stargazers

 avatar Me avatar  avatar SwhGo_oN avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.