citadel_sdk::remote_ext

Trait ProtocolRemoteTargetExt

Source
pub trait ProtocolRemoteTargetExt<R: Ratchet>: TargetLockedRemote<R> {
Show 15 methods // Provided methods fn send_file_with_custom_opts<'life0, 'async_trait, T>( &'life0 self, source: T, chunk_size: usize, transfer_type: TransferType, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn send_file<'life0, 'async_trait, T>( &'life0 self, source: T, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_push_custom_chunking<'life0, 'async_trait, T, P>( &'life0 self, source: T, virtual_directory: P, chunk_size: usize, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_push<'life0, 'async_trait, T, P>( &'life0 self, source: T, virtual_directory: P, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_pull<'life0, 'async_trait, P>( &'life0 self, virtual_directory: P, transfer_security_level: SecurityLevel, delete_on_pull: bool, ) -> Pin<Box<dyn Future<Output = Result<PathBuf, NetworkError>> + Send + 'async_trait>> where P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_delete<'life0, 'async_trait, P>( &'life0 self, virtual_directory: P, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn connect_to_peer_custom<'life0, 'async_trait>( &'life0 self, session_security_settings: SessionSecuritySettings, udp_mode: UdpMode, peer_session_password: Option<PreSharedKey>, ) -> Pin<Box<dyn Future<Output = Result<PeerConnectSuccess<R>, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn connect_to_peer<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<PeerConnectSuccess<R>, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn register_to_peer<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<PeerRegisterStatus, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn deregister<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn disconnect<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn create_group<'life0, 'async_trait>( &'life0 self, initial_users_to_invite: Option<Vec<UserIdentifier>>, ) -> Pin<Box<dyn Future<Output = Result<GroupChannel, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn list_owned_groups<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<MessageGroupKey>, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn rekey<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<u32>, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn is_peer_registered<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkError>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... }
}
Expand description

Some functions require that a target exists

Provided Methods§

Source

fn send_file_with_custom_opts<'life0, 'async_trait, T>( &'life0 self, source: T, chunk_size: usize, transfer_type: TransferType, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, Self: Sync + 'async_trait, 'life0: 'async_trait,

Sends a file with a custom size. The smaller the chunks, the higher the degree of scrambling, but the higher the performance cost. A chunk size of zero will use the default

Source

fn send_file<'life0, 'async_trait, T>( &'life0 self, source: T, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, Self: Sync + 'async_trait, 'life0: 'async_trait,

Sends a file to the provided target using the default chunking size

Source

fn remote_encrypted_virtual_filesystem_push_custom_chunking<'life0, 'async_trait, T, P>( &'life0 self, source: T, virtual_directory: P, chunk_size: usize, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait,

Sends a file to the provided target using custom chunking size with local encryption. Only this local node may decrypt the information send to the adjacent node.

Source

fn remote_encrypted_virtual_filesystem_push<'life0, 'async_trait, T, P>( &'life0 self, source: T, virtual_directory: P, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait,

Sends a file to the provided target using the default chunking size with local encryption. Only this local node may decrypt the information send to the adjacent node.

Source

fn remote_encrypted_virtual_filesystem_pull<'life0, 'async_trait, P>( &'life0 self, virtual_directory: P, transfer_security_level: SecurityLevel, delete_on_pull: bool, ) -> Pin<Box<dyn Future<Output = Result<PathBuf, NetworkError>> + Send + 'async_trait>>
where P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait,

Pulls a virtual file from the RE-VFS. If delete_on_pull is true, then, the virtual file will be taken from the RE-VFS

Source

fn remote_encrypted_virtual_filesystem_delete<'life0, 'async_trait, P>( &'life0 self, virtual_directory: P, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where P: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait,

Deletes the file from the RE-VFS. If the contents are desired on delete, consider calling Self::remote_encrypted_virtual_filesystem_pull with the delete parameter set to true

Source

fn connect_to_peer_custom<'life0, 'async_trait>( &'life0 self, session_security_settings: SessionSecuritySettings, udp_mode: UdpMode, peer_session_password: Option<PreSharedKey>, ) -> Pin<Box<dyn Future<Output = Result<PeerConnectSuccess<R>, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Connects to the peer with custom settings

Source

fn connect_to_peer<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<PeerConnectSuccess<R>, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Connects to the target peer with default settings

Source

fn register_to_peer<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<PeerRegisterStatus, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Posts a registration request to a peer

Source

fn deregister<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Deregisters the currently locked target. If the target is a client to server connection, deregisters from the server. If the target is a p2p connection, deregisters the p2p

Source

fn disconnect<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Source

fn create_group<'life0, 'async_trait>( &'life0 self, initial_users_to_invite: Option<Vec<UserIdentifier>>, ) -> Pin<Box<dyn Future<Output = Result<GroupChannel, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Source

fn list_owned_groups<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<MessageGroupKey>, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Lists all groups that which the current peer owns

Source

fn rekey<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<u32>, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Begins a re-key, updating the container in the process. Returns the new key matrix version. Does not return the new key version if the rekey fails, or, if a current rekey is already executing

Source

fn is_peer_registered<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<bool, NetworkError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Checks if the locked target is registered

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§