Back to Spacetimedb

README

crates/bindings-csharp/BSATN.Runtime/README.md

2.3.01.3 KB
Original Source

⚠️ Internal Project ⚠️

This project is intended for internal use only. It is not stable and may change without notice.

Internal documentation

This project contains interfaces and runtime support code for BSATN serialization in C#. It is the companion of the BSATN.Codegen project.

See ../BSATN.Runtime.Tests/ for tests.

User-facing types

This project contains implementations of a number of wide integer types for compatibility with SpacetimeDB. It also has implementations of a number of "special" SpacetimeDB types, including Identity, ConnectionId, Timestamp, TimeDuration, and ScheduleAt. These live in ./Builtins.cs. It also contains the AlgebraicType type, which is not really user-facing but is important internally.

There are also two of important interfaces: IStructuralReadWrite and IReadWrite<T>. See their documentation in ./BSATN/Runtime.cs for more information.

Internal types

This project contains the base implementation of serializers for various primitive BSATN types. These live in ./BSATN/Runtime.cs. These serializers are mainly used in code generated by BSATN.Codegen.