citadel_sdk::remote_ext

Trait ProtocolRemoteTargetExt

source
pub trait ProtocolRemoteTargetExt: TargetLockedRemote {
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, R>( &'life0 self, source: T, virtual_directory: R, chunk_size: usize, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, R: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_push<'life0, 'async_trait, T, R>( &'life0 self, source: T, virtual_directory: R, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where T: 'async_trait + ObjectSource, R: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_pull<'life0, 'async_trait, R>( &'life0 self, virtual_directory: R, transfer_security_level: SecurityLevel, delete_on_pull: bool, ) -> Pin<Box<dyn Future<Output = Result<PathBuf, NetworkError>> + Send + 'async_trait>> where R: 'async_trait + Into<PathBuf> + Send, Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn remote_encrypted_virtual_filesystem_delete<'life0, 'async_trait, R>( &'life0 self, virtual_directory: R, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>> where R: '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, 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, 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, R>( &'life0 self, source: T, virtual_directory: R, chunk_size: usize, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, R: '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, R>( &'life0 self, source: T, virtual_directory: R, security_level: SecurityLevel, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where T: 'async_trait + ObjectSource, R: '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, R>( &'life0 self, virtual_directory: R, transfer_security_level: SecurityLevel, delete_on_pull: bool, ) -> Pin<Box<dyn Future<Output = Result<PathBuf, NetworkError>> + Send + 'async_trait>>
where R: '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, R>( &'life0 self, virtual_directory: R, ) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>
where R: '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, 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, 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

Object Safety§

This trait is not object safe.

Implementors§