pub struct DefaultProtocol;Expand description
A default implementation of y-sync Protocol.
Trait Implementations§
Source§impl Protocol for DefaultProtocol
impl Protocol for DefaultProtocol
Source§fn start<E: Encoder>(
&self,
awareness: &Awareness,
encoder: &mut E,
) -> Result<(), Error>
fn start<E: Encoder>( &self, awareness: &Awareness, encoder: &mut E, ) -> Result<(), Error>
To be called whenever a new connection has been accepted. Returns an encoded list of
messages to be send back to initiator. This binary may contain multiple messages inside,
stored one after another.
Source§fn handle_sync_step1(
&self,
awareness: &Awareness,
sv: StateVector,
) -> Result<Option<Message>, Error>
fn handle_sync_step1( &self, awareness: &Awareness, sv: StateVector, ) -> Result<Option<Message>, Error>
Y-sync protocol sync-step-1 - given a StateVector of a remote side, calculate missing
updates. Returns a sync-step-2 message containing a calculated update.
Source§fn handle_sync_step2(
&self,
awareness: &mut Awareness,
update: Update,
) -> Result<Option<Message>, Error>
fn handle_sync_step2( &self, awareness: &mut Awareness, update: Update, ) -> Result<Option<Message>, Error>
Handle reply for a sync-step-1 send from this replica previously. By default just apply
an update to current
awareness document instance.Source§fn handle_update(
&self,
awareness: &mut Awareness,
update: Update,
) -> Result<Option<Message>, Error>
fn handle_update( &self, awareness: &mut Awareness, update: Update, ) -> Result<Option<Message>, Error>
Handle continuous update send from the client. By default just apply an update to a current
awareness document instance.Source§fn handle_auth(
&self,
_awareness: &Awareness,
deny_reason: Option<String>,
) -> Result<Option<Message>, Error>
fn handle_auth( &self, _awareness: &Awareness, deny_reason: Option<String>, ) -> Result<Option<Message>, Error>
Handle authorization message. By default if reason for auth denial has been provided,
send back Error::PermissionDenied.
Source§fn handle_awareness_query(
&self,
awareness: &Awareness,
) -> Result<Option<Message>, Error>
fn handle_awareness_query( &self, awareness: &Awareness, ) -> Result<Option<Message>, Error>
Returns an AwarenessUpdate which is a serializable representation of a current
awareness
instance.Source§fn handle_awareness_update(
&self,
awareness: &mut Awareness,
update: AwarenessUpdate,
) -> Result<Option<Message>, Error>
fn handle_awareness_update( &self, awareness: &mut Awareness, update: AwarenessUpdate, ) -> Result<Option<Message>, Error>
Reply to awareness query or just incoming AwarenessUpdate, where current
awareness
instance is being updated with incoming data.Auto Trait Implementations§
impl Freeze for DefaultProtocol
impl RefUnwindSafe for DefaultProtocol
impl Send for DefaultProtocol
impl Sync for DefaultProtocol
impl Unpin for DefaultProtocol
impl UnwindSafe for DefaultProtocol
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more