moonbitstack/moonrpc/server does not have a README file
pub struct H2Server {
handlers : Map[String, Handler]
encoder : Encoder
decoder : Decoder
streams : Map[Int, SrvStream]
unary_interceptors : Array[(RpcContext, Bytes, (RpcContext, Bytes) -> Bytes) -> Bytes]
stream_interceptors : Array[(RpcContext, Bytes, (RpcContext, Bytes) -> Array[Bytes]) -> Array[Bytes]]
conn_recv_window : Int
conn_send_window : Int
remote_initial_window : Int
remote_max_frame : Int
max_streams : Int
clock : () -> Int64
continuing : Int?
goaway_received : Bool
last_client_stream : Int
closing : Bool
drained : Int?
}fn H2Server::add_stream_interceptor(self : H2Server, interceptor : (RpcContext, Bytes, (RpcContext, Bytes) -> Array[Bytes]) -> Array[Bytes]) -> Unitfn H2Server::add_unary_interceptor(self : H2Server, interceptor : (RpcContext, Bytes, (RpcContext, Bytes) -> Bytes) -> Bytes) -> Unitfn H2Server::register_bidi(self : H2Server, path : String, factory : (RpcContext) -> BidiHandler) -> Unitfn H2Server::register_client_streaming(self : H2Server, path : String, handler : (RpcContext, Array[Bytes]) -> Bytes) -> Unitfn H2Server::register_server_streaming(self : H2Server, path : String, handler : (RpcContext, Bytes) -> Array[Bytes]) -> Unitfn H2Server::register_unary(self : H2Server, path : String, handler : (RpcContext, Bytes) -> Bytes) -> Unitpub(all) struct SrvStream {
id : Int
state : StreamState
header_block : Buffer
data : Buffer
req_off : Int
req_msgs : Array[Bytes]
bidi_processed : Int
headers_complete : Bool
in_headers : Bool
end_stream_recv : Bool
path : String
ctx : RpcContext
deadline_at : Int64?
recv_window : Int
send_window : Int
out : Bytes
out_off : Int
started : Bool
started_response : Bool
response_ended : Bool
finalized : Bool
trailers_only : Bool
http_status : Int
status_code : Int
status_message : String
req_encoding : Bytes
compressed_unsupported : Bool
oversize : Bool
headers_sent : Bool
trailers_sent : Bool
bidi : BidiHandler?
}let default_max_streams : IntInstall
Download zipReal gRPC for MoonBit over HTTP/2: all four call kinds, metadata, deadlines, rich errors, health checking, server reflection, retries, hedging and load balancing, with pure client and server engines that run on every backend.
Dependencies