1 个不稳定版本

0.1.0 2020 年 3 月 23 日

#35 in #subscribe

32 每月下载量

自定义许可证

105KB
2K SLoC

PubNub Rust SDK

Build Status unsafe forbidden

PubNub Rust SDK 基于 Tokio 0.2。此库使用 HTTP/2 与 PubNub Edge 消息网络通信。

MSRV

支持 Rust 1.39.0 及更高版本。

开始使用

首先您需要将依赖项添加到项目中。

Cargo.toml

轻松将 PubNub 库添加到您的 Cargo.toml 文件中。

[dependencies.pubnub_hyper]
git = "https://github.com/pubnub/rust"

简单使用

尝试以下示例代码以快速启动。

use futures_util::stream::StreamExt;
use pubnub_hyper::runtime::tokio_global::TokioGlobal;
use pubnub_hyper::transport::hyper::Hyper;
use pubnub_hyper::{core::json::object, Builder};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let transport = Hyper::new()
        .publish_key("demo")
        .subscribe_key("demo")
        .build()?;

    let mut pubnub = Builder::new()
        .transport(transport)
        .runtime(TokioGlobal)
        .build();

    let message = object! {
        "username" => "JoeBob",
        "content" => "Hello, world!",
    };

    let mut stream = pubnub.subscribe("my-channel").await;
    let timetoken = pubnub.publish("my-channel", message).await?;
    println!("timetoken = {:?}", timetoken);

    let received = stream.next().await;
    println!("received = {:?}", received);

    Ok(())
}

示例

您可以在 ./pubnub-hyper/examples 目录中找到这些示例。探索每个示例中可用的使用模式。您可以使用以下 cargo 命令轻松运行每个示例

cargo run --example publish-subscribe

依赖项

~9–20MB
~267K SLoC