var errMissingParams … type serverCodec … // NewServerCodec returns a new [rpc.ServerCodec] using JSON-RPC on conn. func NewServerCodec(conn io.ReadWriteCloser) rpc.ServerCodec { … } type serverRequest … func (r *serverRequest) reset() { … } type serverResponse … func (c *serverCodec) ReadRequestHeader(r *rpc.Request) error { … } func (c *serverCodec) ReadRequestBody(x any) error { … } var null … func (c *serverCodec) WriteResponse(r *rpc.Response, x any) error { … } func (c *serverCodec) Close() error { … } // ServeConn runs the JSON-RPC server on a single connection. // ServeConn blocks, serving the connection until the client hangs up. // The caller typically invokes ServeConn in a go statement. func ServeConn(conn io.ReadWriteCloser) { … }