RPC 运输
运输与运输之间的桥梁 RPC 公用事业
安装
npm install @ceramicnetwork/rpc-transport
使用量
import { createClient, serve } from '@ceramicnetwork/rpc-transport'
// Methods type shared between the client and server
type Methods = {
foo: { result: string }
}
// Using requests and responses subjects here or demonstration purposes only
const requests = new Subject<RPCRequest<Methods, keyof Methods>>()
const responses = new Subject<RPCResponse<Methods, keyof Methods>>()
const clientTransport = new TransportSubject(responses, requests)
const serverTransport = new TransportSubject(requests, responses)
// Start server handling methods on given transport
const server = serve<null, Methods>(serverTransport, null, {
foo: () => 'bar',
})
class TestClient {
constructor(transport: TransportSubject) {
this.client = createClient<Methods>(transport)
}
async foo() {
return await this.client.request('foo')
}
}
const client = new TestClient()
await client.foo() // 'bar'
// Stop server when done
server.unsubscribe()
类型
RPC 客户运输
用途 RPCMethods, (中文(简体) ), RPCRequest 财务报告和审定财务报表 RPCResponse
type RPCClientTransport<Methods extends RPCMethods> = TransportSubject<
RPCResponse<Methods, keyof Methods>,
RPCRequest<Methods, keyof Methods>
>
RPC 服务运输
用途 RPCMethods, (中文(简体) ), RPCRequest 财务报告和审定财务报表 RPCResponse
type RPCClientTransport<Methods extends RPCMethods> = TransportSubject<
RPCRequest<Methods, keyof Methods>,
RPCResponse<Methods, keyof Methods>
>
APIs 密码
创建发送请求( C)
类型参数
参数
创建 Client ()
类型参数
参数
创建 Handler 操作器 ()
类型参数
ContextMethods extends RPCMethods
参数
context: Contextmethods: HandlerMethods<Context, Methods>options?: HandlerOptions<Context, Methods>
回返 OperatorFunction<RPCRequest<Methods, keyof Methods>, RPCResponse<Methods, keyof Methods> | null>
服务( )
类型参数
ContextMethods extends RPCMethods
参数
transport: RPCServerTransport<Methods>context: Contextmethods: HandlerMethods<Context, Methods>options?: HandlerOptions<Context, Methods>
回返 Subscription
许可证
Apache-2.0或麻省理工学院