|
|
/// This enumeration is the list of possible user statuses.
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
|
pub enum Status {
|
|
|
/// The user if offline.
|
|
|
Offline = 1,
|
|
|
/// The user is connected, but AFK.
|
|
|
Away = 2,
|
|
|
/// The user is present.
|
|
|
Online = 3,
|
|
|
}
|
|
|
|
|
|
/// This structure contains the last known information about a fellow user.
|
|
|
/// It does not store the name, as that is stored implicitly as the key in the
|
|
|
/// user hash table.
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
|
pub struct User {
|
|
|
/// The last known status of the user.
|
|
|
pub status: Status,
|
|
|
/// The average upload speed of the user.
|
|
|
pub average_speed: usize,
|
|
|
/// ???
|
|
|
pub num_downloads: usize,
|
|
|
/// The number of files this user shares.
|
|
|
pub num_files: usize,
|
|
|
/// The number of folders this user shares.
|
|
|
pub num_folders: usize,
|
|
|
/// True if the user has free download slots, False if the user doesn't.
|
|
|
pub has_free_slots: bool,
|
|
|
}
|