crates/bindings-csharp/BSATN.Runtime/README.md
⚠️ Internal Project ⚠️
This project is intended for internal use only. It is not stable and may change without notice.
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.
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.
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.