#计时 #比赛 #赛车运动

bin+lib rmonitor

一个简单的、与 Tokio 兼容的协议解码器,用于 RMonitor,这是一种由不同体育计时软件供应商支持的基于行的计时协议。

4 个版本 (2 个破坏性更新)

0.3.0 2024 年 2 月 3 日
0.2.0 2020 年 5 月 10 日
0.1.1 2020 年 5 月 9 日
0.1.0 2020 年 5 月 9 日

#534网络编程

MIT/Apache

1MB
688

RMonitor for Rust

GHA Build Status MIT/Apache Licensed crates.io Docs

一个简单的、与 Tokio 兼容的协议解码器,用于 RMonitor,这是一种由不同体育计时软件供应商支持的基于行的计时协议。

解码器支持两种协议

示例

您需要在依赖项中包含 rmonitortokiotokio-util

rmonitor = "0.2"
tokio-util = { version = "0.3", features = ["codec"] }
tokio = { version = "0.2", features = ["full"] }

然后创建您的 main.rs

use rmonitor::RMonitorDecoder;
use std::error::Error;
use tokio::net::TcpStream;
use tokio::stream::StreamExt;
use tokio_util::codec::FramedRead;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // Connect to your target RMonitor server
    let stream = TcpStream::connect("127.0.0.1:4000").await?;

    // Construct a decode with a maximum line length of 2048
    let mut reader = FramedRead::new(stream, RMonitorDecoder::new_with_max_length(2048));

    while let Ok(Some(Ok(event))) = reader.next().await {
        println!("{:?}", event);
    }

    Ok(())
}

还有一个 同步示例,用于展示在不需要引入 Tokio 运行时的情况下使用解码器的方法。

许可证

许可方式为以下之一

由您选择。

依赖项

~4–12MB
~133K SLoC