io7m-com / cedarbridge

Cedarbridge message protocol specification language
https://www.io7m.com/software/cedarbridge
ISC License
0 stars 0 forks source link
cedarbridge message-protocol specification-language

cedarbridge

Maven Central Maven Central (snapshot) Codecov Java Version

com.io7m.cedarbridge

JVM Platform Status
OpenJDK (Temurin) Current Linux Build (OpenJDK (Temurin) Current, Linux)
OpenJDK (Temurin) LTS Linux Build (OpenJDK (Temurin) LTS, Linux)
OpenJDK (Temurin) Current Windows Build (OpenJDK (Temurin) Current, Windows)
OpenJDK (Temurin) LTS Windows Build (OpenJDK (Temurin) LTS, Windows)

cedarbridge

The cedarbridge package implements an efficient, strongly-typed, platform-independent, binary message protocol language based around sum and product types, and strong versioning.

[documentation ChatCommandJoin "Join the chat room."]
[record ChatCommandJoin
  [field name cb:String]
  [documentation name "The username with which to join."]]

[documentation Chat "The chat protocol."]
[protocol Chat
  [version 1
    [types-added
      ChatCommandJoin
      ChatCommandSpeak
      ChatEventJoined
      ChatEventLeft
      ChatEventSpoke
      ChatEventError]]]

...

Features

Usage

See the documentation and language specification.