scaproust

Implementation of the nanomsg "Scalability Protocols" in rust.

Github星跟蹤圖

Scaproust - Scalability Protocols in Rust

Linux build
Windows build
Coverage Status
crates.io

Scaproust is an implementation of the nanomsg "Scalability Protocols" in the Rust programming language.

Quoting from nanomsg's site:

nanomsg is a socket library that provides several common communication patterns. It aims to make the networking layer fast, scalable, and easy to use. Implemented in C, it works on a wide range of operating systems with no further dependencies.

The communication patterns, also called "scalability protocols", are basic blocks for building distributed systems. By combining them you can create a vast array of distributed applications.

Experimental work ! For working stuff, please see nanomsg-rs.

API Documentation

Goals

  • Support for all of nanomsg's protocols.
  • Support for TCP and IPC transports.
  • Idiomatic rust API first, mimic the original C API second.
  • Extensibility: allow user code to define additional protocols and transports

Usage

First, add this to your Cargo.toml:

[dependencies]
scaproust = "0.3.1"

Next, add this to your crate:

extern crate scaproust;

Progress

  • Protocols

    • PAIR
    • BUS
    • REQREP
      • REQ
      • REQ resend
      • REQ prefetch replies
      • REP
    • PUBSUB
      • PUB
      • SUB
      • SUB subscription filter
    • PIPELINE
      • PUSH
      • PULL
    • SURVEY
      • SURVEYOR
      • SURVEYOR deadline
      • RESPONDENT
  • Transports

    • TCP
    • IPC (*nix)
    • IPC (Windows)
  • Socket options

    • Linger
    • Recv max size
    • Send timeout
    • Recv timeout
    • Reconnect interval
    • Reconnect interval max
    • Send priority
    • Recv priority
    • IPV4 only
    • Socket name
  • Protocol options

    • REQ resend interval
    • SURVEYOR deadline
    • SUB subscribe
    • SUB unsubscribe
  • Transport options

    • TCP no delay

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you shall be dual licensed as above, without any
additional terms or conditions.

主要指標

概覽
名稱與所有者blabaere/scaproust
主編程語言Rust
編程語言Rust (語言數: 2)
平台
許可證Apache License 2.0
所有者活动
創建於2015-05-30 19:39:17
推送於2020-02-14 09:03:18
最后一次提交2020-02-06 18:48:06
發布數5
最新版本名稱scaproust-0.3.2 (發布於 )
第一版名稱scaproust-0.1.0 (發布於 )
用户参与
星數195
關注者數11
派生數9
提交數789
已啟用問題?
問題數11
打開的問題數5
拉請求數3
打開的拉請求數1
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?