Choose an efficient message serialisation format for use in the DHT communication protocol. #5

Closed
opened 2020-05-17 23:06:08 +02:00 by schmittlauch · 1 comment
Owner

Choice of serialisation format used for inter-node communication (RPC calls)

Requirements:

  • language-agnostic data representation
  • fast (enough)
  • can encode NodeIDs (256bit long integers)
    • fallback: either as string or as blob

Technologies to be considered:

  • JSON
    • needs string-representation of NodeIDs
  • ASN.1
    • standardised, established, but confusing
  • msgpack
    • binary serialisation format faster than JSON
    • supports blobs
    • has haskell RPC framework
  • Protocol Buffers
    • binary
    • support versioning
    • have a schema that could be imported by other implementers
Choice of serialisation format used for inter-node communication (RPC calls) Requirements: - language-agnostic data representation - fast (enough) - can encode NodeIDs (256bit long integers) - fallback: either as string or as blob Technologies to be considered: - JSON - needs string-representation of NodeIDs - ASN.1 - standardised, established, but confusing - msgpack - binary serialisation format faster than JSON - supports blobs - has haskell RPC framework - Protocol Buffers - binary - support versioning - have a schema that could be imported by other implementers
Author
Owner

ASN.1 has been chosen.

ASN.1 has been chosen.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: schmittlauch/Hash2Pub#5
No description provided.