#channel #hop #async #websocket #sockets #leap-edge

leap_client_rs

Rust客户端库,用于Leap Edge套接字服务

4个版本

0.1.5 2023年10月8日
0.1.3 2023年6月11日
0.1.2 2023年2月5日
0.1.0 2022年9月4日

#1819 in 网络编程


用于hop-cli

MPL-2.0许可

46KB
1K SLoC

leap_edge_rs

用于连接Leap Edge并接收事件的实用库。用于通道和管道。

安装

将以下内容添加到您的Cargo.toml

[dependencies]
leap_edge_rs = "0.1"

或如果您想添加功能

[dependencies.leap_edge_rs]
version = "0.1"
default-features = false
features = ["rustls-tls-webpki-roots", "zlib"]

用法

订阅频道

use leap_edge_rs::{LeapEdge, LeapOptions, leap::types::Event};

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
    let leap = LeapEdge::new(LeapOptions {
        project: "my-project",
        ..Default::default()
    }).await?;

    leap.channel_subscribe("my-channel").await?;

    while let Some(event) = leap.listen().await {
        println!("{:?}", event);
    }
}

获取所有事件

use leap_edge_rs::{LeapEdge, LeapOptions};

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
    let leap = LeapEdge::new(LeapOptions {
        project: "my-project",
        ..Default::default()
    }).await?;

    while let Some(event) = leap.listen().await {
        println!("{:?}", event);
    }
}

仅获取消息或直接消息

use leap_edge_rs::{LeapEdge, LeapOptions, leap::types::Event};

#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
    let leap = LeapEdge::new(LeapOptions {
        project: "my-project",
        ..Default::default()
    }).await?;

    while let Some(event) = leap.listen().await {
        match event {
            Event::Message(message) | Event::DirectMessage(message) => println!("{:?}", message),

            _ => {}
        }
    }
}

依赖项

~5–16MB
~206K SLoC