[][src]Struct sync15::clients::engine::Driver

struct Driver<'a> {
    command_processor: &'a dyn CommandProcessor,
    interruptee: &'a dyn Interruptee,
    config: &'a InfoConfiguration,
    recent_clients: HashMap<String, RemoteClient>,
}

The driver for the clients engine. Internal; split out from the Engine struct to make testing easier.

Fields

command_processor: &'a dyn CommandProcessorinterruptee: &'a dyn Interrupteeconfig: &'a InfoConfigurationrecent_clients: HashMap<String, RemoteClient>

Implementations

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

fn new(
    command_processor: &'a dyn CommandProcessor,
    interruptee: &'a dyn Interruptee,
    config: &'a InfoConfiguration
) -> Driver<'a>
[src]

fn note_recent_client(&mut self, client: &ClientRecord)[src]

fn sync(
    &mut self,
    inbound: IncomingChangeset,
    should_refresh_client: bool
) -> Result<OutgoingChangeset>
[src]

fn current_client_record(&self) -> ClientRecord[src]

Builds a fresh client record for this device.

fn max_record_payload_size(&self) -> usize[src]

fn memcache_max_record_payload_size(&self) -> usize[src]

Collections stored in memcached ("tabs", "clients" or "meta") have a different max size than ones stored in the normal storage server db. In practice, the real limit here is 1M (bug 1300451 comment 40), but there's overhead involved that is hard to calculate on the client, so we use 512k to be safe (at the recommendation of the server team). Note that if the server reports a lower limit (via info/configuration), we respect that limit instead. See also bug 1403052.

Auto Trait Implementations

impl<'a> !RefUnwindSafe for Driver<'a>

impl<'a> !Send for Driver<'a>

impl<'a> !Sync for Driver<'a>

impl<'a> Unpin for Driver<'a>

impl<'a> !UnwindSafe for Driver<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,