文件名称:nano:在 golang 中实现的 nanomsg
文件大小:77KB
文件格式:ZIP
更新时间:2024-06-24 20:30:11
Go
纳米
nano 是 SP(“可扩展协议”)协议的纯 Go 实现。
SP 协议的参考实现如下:
nano 很容易使用,但在幕后,它做了很多事情:
它构建消息。
它以异步非阻塞方式发送和接收消息。
它检查连接失败并根据需要重新建立连接。
如果此时对等方不可用,它会将消息排队。
它管理超时和线程安全。
它确保为各个对等点分配其公平份额的服务器资源,以便单个客户端无法劫持服务器。
它将回复路由到原始请求者。
它按需压缩/解压缩 IO 流。
享受!
设计
可插拔传输
Nano是传输不可知的。
目前支持的传输:
通讯协议
tcp://[eth0;]
【文件预览】:
nano-master
----build.sh(373B)
----conn.go(9KB)
----debug.go(760B)
----ver.go(74B)
----apps()
--------rpc()
--------pubnub()
----transport.go(6KB)
----waiter.go(3KB)
----message.go(3KB)
----transport()
--------tcp()
--------ipc()
--------tlstcp()
--------doc.go(360B)
--------inproc()
--------all.go(870B)
----errors.go(1KB)
----protocol()
--------xpubsub()
--------gossip()
--------pair()
--------pubsub()
--------survey()
--------pipeline()
--------bus()
--------star()
--------reqrep()
----init.go(204B)
----util.go(2KB)
----protocol.go(5KB)
----examples()
--------pair()
--------pubsub()
--------tlstcp()
--------benchmark()
--------pipeline()
--------bus()
--------api()
--------reqrep()
----core.go(10KB)
----TODO.md(585B)
----core_dialer.go(2KB)
----bench_test.go(1KB)
----doc.go(523B)
----test()
--------socket_test.go(659B)
--------message_test.go(967B)
--------util_test.go(1KB)
--------README.md(358B)
--------waiter_test.go(618B)
----README.md(3KB)
----const.go(7KB)
----socket.go(3KB)
----port.go(2KB)
----bufpool_go13.go(310B)
----core_listener.go(1KB)
----api()
--------errors.go(131B)
--------doc.go(72B)
--------socket.go(2KB)
--------api.go(584B)
----bufpool_go10.go(156B)
----endpoint.go(4KB)
----.gitignore(186B)
----device.go(2KB)