我正在尝试在第三方库之上创建一个层,在本例中为libchan.这是我定义的接口(interface):typeReceiverStreaminterface{Receive(msginterface{})error}typeInboundTransportinterface{WaitReceiveChannel()(ReceiverStream,error)}InboundTransport是Transport类型的替代://libchan.gotypeTransportinterface{//NewSendChannelcreatesandreturnsanewsendchannel
我正在尝试在第三方库之上创建一个层,在本例中为libchan.这是我定义的接口(interface):typeReceiverStreaminterface{Receive(msginterface{})error}typeInboundTransportinterface{WaitReceiveChannel()(ReceiverStream,error)}InboundTransport是Transport类型的替代://libchan.gotypeTransportinterface{//NewSendChannelcreatesandreturnsanewsendchannel
我正在尝试使用libchan使用类似gochannel的传输在机器之间发送消息的库。根据我收集到的信息,大致的想法是这样的:您有一个SPDY客户端,它通过tcp将一个序列化的命令对象发送到一个地址。此命令对象包含一个名为Pipe的libchanchannel,通过它发送响应。当服务器接收到传入连接时,它会等待一个命令对象。当它得到一个时,它通过对象中包含的Pipe发送响应。这是我的困惑点。对于在两台机器之间持续存在的channel,它们必须共享内存或至少共享连接它们两者的抽象。根据我对libchan代码库的了解,我不知道这怎么可能。这里是repo中示例的一个片段://clientrec