Skip to content

twilic/twilic-csharp

Repository files navigation

Twilic (C#)

C# implementation of the Twilic wire format and session-aware encoder/decoder.

This library's default Encode / Decode API targets Twilic v2.

What this library provides

  • Dynamic encoding/decoding (Encode, Decode)
  • Schema-aware encoding (EncodeWithSchema)
  • Batch encoding (EncodeBatch, SessionEncoder)
  • V2 wire profile: native Core/V2.cs plus session encoder (SessionEncoder.cs)
  • Smoke-level coverage today; full protocol parity with twilic-java is tracked in issues

Project layout

twilic-csharp/
  src/Twilic/             # public API + Core/*
  tests/
  docs/

Requirements

  • .NET 8 SDK

Install

dotnet add package Twilic

(When published to NuGet.)

Quick start

using Twilic;

var value = Twilic.NewMap(
    Twilic.Entry("id", Twilic.NewU64(1001)),
    Twilic.Entry("name", Twilic.NewString("alice")));

byte[] bytes = Twilic.Encode(value);
var decoded = Twilic.Decode(bytes);

Development

dotnet test

Markdown formatting

See docs/CONTRIBUTING.md.

CI (GitHub Actions)

  • .github/workflows/ci.ymldotnet test and markdown checks

Spec parity

Mirrors twilic/twilic and twilic-java.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

C# implementation of a fast, compact binary wire format for modern data transport.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors