The runtime library for protobuf
pub(open) trait AsyncRead {
async fn read(&AsyncReader) -> Self = _
async fn read_with_limit(LimitedReader[&AsyncReader]) -> Self
}pub(open) trait AsyncReader {
async fn read(Self, FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int?
}pub(open) trait AsyncWriter {
async fn write(Self, BytesView) -> Unit
}impl AsyncWriter for Bufferpub(open) trait Read {
fn read(&Reader) -> Self raise = _
fn read_with_limit(LimitedReader[&Reader]) -> Self raise
}pub(open) trait Reader {
fn read(Self, FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int? raise
}pub(open) trait Sized {
fn size_of(Self) -> UInt
}pub(open) trait Writer {
fn write(Self, BytesView) -> Unit raise
}impl Show for ReaderErrortype BytesReaderimpl Show for BytesReaderimpl AsyncReader for BytesReaderasync fn read(self : BytesReader, bytes : FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int?impl Reader for BytesReaderfn read(self : BytesReader, bytes : FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int? raisepub(all) struct LimitedReader[T] {
reader : T
limit : Int?
}impl AsyncReader for LimitedReader[T]async fn[T : AsyncReader] read(self : LimitedReader[T], bytes : FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int?impl Reader for LimitedReader[T]fn[T : Reader] read(self : LimitedReader[T], bytes : FixedArray[Byte], offset~ : Int, max_length~ : Int) -> Int? raiseasync fn[M : Sized, R : AsyncReader] async_read_packed(reader : R, async_read_fn : async (LimitedReader[R]) -> M, size : UInt?) -> Array[M]fn[M : Sized, R : Reader] read_packed(reader : R, read_fn : (LimitedReader[R]) -> M raise, size : UInt?) -> Array[M] raiseThe runtime library for protobuf