Enum synapse_rpc::resource::SResourceUpdate [] [src]

pub enum SResourceUpdate<'a> {
    Resource(Cow<'a, Resource>),
    Throttle {
        id: String,
        kind: ResourceKind,
        throttle_up: Option<i64>,
        throttle_down: Option<i64>,
    },
    Rate {
        id: String,
        kind: ResourceKind,
        rate_up: u64,
        rate_down: u64,
    },
    UserData {
        id: String,
        kind: ResourceKind,
        user_data: Value,
    },
    ServerTransfer {
        id: String,
        kind: ResourceKind,
        rate_up: u64,
        rate_down: u64,
        transferred_up: u64,
        transferred_down: u64,
        ses_transferred_up: u64,
        ses_transferred_down: u64,
    },
    ServerSpace {
        id: String,
        kind: ResourceKind,
        free_space: u64,
    },
    ServerToken {
        id: String,
        kind: ResourceKind,
        download_token: String,
    },
    TorrentStatus {
        id: String,
        kind: ResourceKind,
        error: Option<String>,
        status: Status,
    },
    TorrentTransfer {
        id: String,
        kind: ResourceKind,
        rate_up: u64,
        rate_down: u64,
        transferred_up: u64,
        transferred_down: u64,
        progress: f32,
    },
    TorrentPeers {
        id: String,
        kind: ResourceKind,
        peers: u16,
        availability: f32,
    },
    TorrentPicker {
        id: String,
        kind: ResourceKind,
        strategy: Strategy,
    },
    TorrentPriority {
        id: String,
        kind: ResourceKind,
        priority: u8,
    },
    TorrentPath {
        id: String,
        kind: ResourceKind,
        path: String,
    },
    TorrentPieces {
        id: String,
        kind: ResourceKind,
        piece_field: String,
    },
    TrackerStatus {
        id: String,
        kind: ResourceKind,
        last_report: DateTime<Utc>,
        error: Option<String>,
    },
    FilePriority {
        id: String,
        kind: ResourceKind,
        priority: u8,
    },
    FileProgress {
        id: String,
        kind: ResourceKind,
        progress: f32,
    },
    PieceAvailable {
        id: String,
        kind: ResourceKind,
        available: bool,
    },
    PieceDownloaded {
        id: String,
        kind: ResourceKind,
        downloaded: bool,
    },
    PeerAvailability {
        id: String,
        kind: ResourceKind,
        availability: f32,
    },
}

To increase server->client update efficiency, we encode common partial updates to resources with this enum.

Variants

Fields of Throttle

Fields of Rate

Fields of UserData

Fields of ServerTransfer

Fields of ServerSpace

Fields of ServerToken

Fields of TorrentStatus

Fields of TorrentTransfer

Fields of TorrentPeers

Fields of TorrentPicker

Fields of TorrentPriority

Fields of TorrentPath

Fields of TorrentPieces

Fields of TrackerStatus

Fields of FilePriority

Fields of FileProgress

Fields of PieceAvailable

Fields of PieceDownloaded

Fields of PeerAvailability

Methods

impl<'a> SResourceUpdate<'a>
[src]

[src]

Trait Implementations

impl<'a> Debug for SResourceUpdate<'a>
[src]

[src]

Formats the value using the given formatter. Read more

impl<'a> Clone for SResourceUpdate<'a>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<'a> PartialEq for SResourceUpdate<'a>
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

Auto Trait Implementations

impl<'a> Send for SResourceUpdate<'a>

impl<'a> Sync for SResourceUpdate<'a>