返回排行榜

zeromq/zmq.rs

Rustcrates.io/crates/zeromq

A native implementation of ØMQ in Rust

asyncmessagingrustzeromq
Star 增长趋势
Star
1.4k
Forks
135
周增长
Issues
34
5001k
2014年6月2018年6月2022年7月2026年7月
制品库crates.iocargo add zmq.rs
README

zmq.rs - A native Rust implementation of ZeroMQ

DISCLAIMER: This codebase does not implement all of ZeroMQ's feature set.

ZeroMQ is a high-performance asynchronous messaging library that provides many popular messaging patterns for many transport types. They look and feel like Berkeley style sockets, but are fault tolerant and easier to use. This project aims to provide a native rust alternative to the reference implementation, and leverage Rust's async ecosystem.

Current status

Basic ZMTP implementation is working and tested against the reference implementation.

Supported transport types:

  • TCP
  • IPC (unix only)

Supported socket patterns:

  • Request/Response (REQ, REP, DEALER, ROUTER)
  • Publish/Subscribe (PUB, SUB, XPUB, XSUB)
  • Pipeline (PUSH, PULL)

Usage

See the examples for some ways to get up and running quickly. You can also generate the documentation by doing cargo doc --open on the source code.

Choosing your async runtime

The project currently supports tokio, async-std, and async-dispatcher controllable via feature flags. tokio is used by default. If you want to use async-std, you would disable the default features, and then select the async-std-runtime feature. For example in your Cargo.toml, you might specify the dependency as follows:

zeromq = { version = "*", default-features = false, features = ["async-std-runtime", "all-transport"] }

See the section about feature flags for more info.

Feature Flags

Feature flags provide a way to customize the functionality provided by this library. Refer to the cargo guide for more info.

Features:

  • (default) tokio-runtime: Use tokio as your async runtime.
  • async-std-runtime: Use async-std as your async runtime.
  • async-dispatcher-runtime: Use async-dispatcher as your async runtime.
  • (default) all-transport: Enable all the *-transport flags
  • ipc-transport: Enable IPC as a transport mechanism
  • tcp-transport: Enable TCP as a transport mechanism

Contributing

Contributions are welcome! See our issue tracker for a list of the things we need help with.

Questions

You can ask quesions in our Discord channel - https://discord.gg/pFXSqWtjQT

相关仓库
getify/You-Dont-Know-JS

A book series (2 published editions) on the JS language.

Otherbook-seriesjavascript
amazon.com/dp/B085XXCJ7X
184.6k33.5k
fastapi/fastapi

FastAPI framework, high performance, easy to learn, fast to code, ready for production

PythonPyPIMIT Licensepythonjson
fastapi.tiangolo.com
100.7k9.6k
TanStack/query

🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

TypeScriptnpmMIT Licensereacthooks
tanstack.com/query
50k4k
caolan/async

Async utilities for node and the browser

JavaScriptnpmMIT Licensejavascriptasync
caolan.github.io/async/
28.2k2.4k
actix/actix-web

Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

Rustcrates.ioApache License 2.0rustweb
actix.rs
24.7k1.9k
gitui-org/gitui

Blazing 💥 fast terminal-ui for git written in rust 🦀

Rustcrates.ioMIT Licenserusttui
22.3k751
avajs/ava

Node.js test runner that lets you develop with confidence 🚀

JavaScriptnpmMIT Licensetest-runnerava
20.8k1.5k
Evil0ctal/Douyin_TikTok_Download_API

🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音、快手、TikTok、Bilibili数据爬取工具,支持API调用,在线批量解析及下载。

PythonPyPIApache License 2.0pythonpywebio
douyin.wtf
18.9k2.7k
extrawurst/gitui

Blazing 💥 fast terminal-ui for git written in rust 🦀

Rustcrates.iorusttui
18.9k582
transact-rs/sqlx

🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

Rustcrates.ioApache License 2.0sqlrust
17.3k1.6k
jamiebuilds/react-loadable

:hourglass_flowing_sand: A higher order component for loading components with promises.

JavaScriptnpmMIT Licensereactloading
16.5k759
aio-libs/aiohttp

Asynchronous HTTP client/server framework for asyncio and Python

PythonPyPIApache License 2.0aiohttpasyncio
docs.aiohttp.org
16.5k2.4k