1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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),
}