extern crate bip_handshake;
extern crate bip_metainfo;
extern crate bip_peer;
extern crate bip_utracker;
extern crate bytes;
#[macro_use]
extern crate error_chain;
extern crate futures;
extern crate rand;
use bip_metainfo::Metainfo;
use bip_peer::PeerInfo;
use std::time::Duration;
mod discovery;
mod extended;
mod error;
mod uber;
pub mod errors {
pub use discovery::error::{DiscoveryError, DiscoveryErrorKind, DiscoveryResultExt};
pub use error::{UberError, UberErrorKind, UberResultExt};
}
pub use discovery::{IDiscoveryMessage, ODiscoveryMessage};
pub use discovery::ut_metadata::UtMetadataModule;
pub use extended::{ExtendedListener, ExtendedPeerInfo, IExtendedMessage, OExtendedMessage};
pub use uber::{IUberMessage, OUberMessage, UberModule, UberModuleBuilder};
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum ControlMessage {
AddTorrent(Metainfo),
RemoveTorrent(Metainfo),
PeerConnected(PeerInfo),
PeerDisconnected(PeerInfo),
Tick(Duration),
}