digit/lib.rs
1//! A finger protocol client library implementing
2//! [RFC 1288](https://datatracker.ietf.org/doc/html/rfc1288) and
3//! [RFC 742](https://datatracker.ietf.org/doc/html/rfc742).
4//!
5//! This crate provides:
6//! - [`query::Query`] -- parsing finger query strings into structured queries
7//! - [`protocol::build_query_string`] -- constructing RFC 1288 wire-format query strings
8//! - [`protocol::finger`] -- executing a finger query over TCP (returns a UTF-8 string)
9//! - [`protocol::finger_raw`] -- executing a finger query over TCP (returns raw bytes)
10//!
11//! # Example
12//!
13//! ```no_run
14//! use std::time::Duration;
15//! use digit::query::Query;
16//! use digit::protocol::finger;
17//!
18//! let query = Query::parse(Some("user@example.com"), false, 79).unwrap();
19//! let response = finger(&query, Duration::from_secs(10), 1_048_576).unwrap();
20//! println!("{}", response);
21//! ```
22
23pub mod protocol;
24pub mod query;