Crate tokio_irc_client [] [src]

Low-level futures based IRC client library for Rust

Tihs library is an implementation of the IRCv3 protocol which uses futures to provide asynchronous processing of incoming and outgoing messages between the client and the server.

This library makes extensive use of tokio and futures to provide asynchronous handling of IRC via the Future, Stream, and Sink traits. This allows for the usage of combinators on the stream of incoming messages to allow for easy processing of messages.

The abstraction provided by this library is currently very minimal. It currently handles connecting to a remote IRC server either through unencypted sockets or TLS encrypted sockets. It internally handles the parsing of IRC messages and has several helper functions to build IRC messages to be sent to the server. It also handles responding to PING requests from the server and will timeout the connection if no PINGs are received after a certain duration (currently 10 minutes).

The main type in this library is the Cient struct, which provides the ability to connect to a remote host. The various connection methods on this type return a future, that when complete, provides a stream of IRC messages that can also be written to. It is possible to call the split function on this stream to get a Stream or incoming IRC messages and Sink for for sending messages to the server.

Reexports

pub use client::Client;
pub use client::ClientConnectFuture;
pub use error::Error;

Modules

client

The client module contains all types needed to make a connection to a remote IRC host.

error