7 releases
0.2.0 | Aug 1, 2021 |
---|---|
0.2.0-alpha.4 | Jul 31, 2021 |
0.2.0-alpha.2 | Feb 13, 2021 |
0.2.0-alpha.1 | Feb 8, 2021 |
0.1.0 | Apr 22, 2019 |
#1127 in Asynchronous
21 downloads per month
44KB
898 lines
rust-pixelflut, a pixelflut client and server library
A sync and async implementation of the Pixelflut protocol for Rust.
Usage
Import in rust project:
[dependencies]
pixelflut = "0.2.0-alpha.2"
Feature flags
image
: Enable support for color types used in theimage
cratetokio-rt
: Enable support for the async client/server
Performance
The async client archived >450MByte/s to localhost on an Apple m1. The server code needs improvement.
If you want to send data faster, spawn multiple clients or use the internal
PixelBuffer
if you want to send allways the same data.
Example
extern crate pixelflut;
extern crate tokio;
use pixelflut::async_tokio::PixelflutClient;
use std::net::SocketAddr;
#[tokio::main]
async fn main() {
let addr: SocketAddr = "127.0.0.1:1337".parse().unwrap();
let mut pixelflut = PixelflutClient::connect(addr).await.unwrap();
println!("{:?}", pixelflut.dimensions().await.unwrap());
pixelflut.set(1, 2, (255, 0, 0)).await.unwrap();
pixelflut.flush().await.unwrap();
}
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rust-pixelflut by you, shall be licensed as MIT, without any additional terms or conditions.
Dependencies
~0.6–7.5MB
~52K SLoC