Expand description
Convenience import for building applications
Re-exports§
pub use crate::backend_kv_store::BackendHandler;
pub use crate::prefabs::client::peer_connection::PeerConnectionSetupAggregator;
pub use crate::prefabs::client::PrefabFunctions;
pub use crate::prefabs::client::DefaultServerConnectionSettingsBuilder;
pub use crate::prefabs::client::ServerConnectionSettings;
pub use crate::prefabs::ClientServerRemote;
pub use crate::remote_ext::remote_specialization::PeerRemote;
pub use crate::responses;
pub use crate::remote_ext::*;
Structs§
- Account
Manager - The default manager for handling the list of users stored locally. It also allows for user creation, and is used especially for when creating a new user via the registration service.
- Argon
Default Server Settings - CNAC
Metadata - For passing metadata from a cnac
- Callback
Receiver - A receiver for the tracked callback channel.
- Citadel
Node - Connect
Fail - Connect
Success - Connect
ToHypernode - Crypto
Parameters - DeRegistration
- Delete
Object - Deregister
From Hypernode - Disconnect
- Disconnect
From Hypernode - Encryption
Algorithm Iter - An iterator over the variants of EncryptionAlgorithm
- Explicit
Panic Future - Ensures that if a panic occurs in a task, the panic backtrace prints and halts the program
- FcmKeys
- Group
Broadcast Command - Group
Channel - Group
Channel Created - Group
Channel Recv Half - Group
Channel Send Half - Group
Event - IfEq
- Internal
Server Error - KemAlgorithm
Iter - An iterator over the variants of KemAlgorithm
- Kernel
Executor - Creates a KernelExecutor
- Kernel
Executor Settings - Used for fine-tuning parameters within the [
KernelExecutor
] - Mailbox
Delivery - Message
Group Key - Message
Group Options - Options for creating message groups
- Mono
Ratchet - A compact ratchet meant for protocols that require smaller payloads
- Mutual
Peer - This is to replace a tuple for greater organization
- Node
Builder - Used to construct a running client/peer or server instance
- Node
Future - An awaitable future whose return value propagates any internal protocol or kernel-level errors
- Node
Remote - allows convenient communication with the server
- Object
Id - Object
Transfer Handle - Object
Transfer Handler - Object
Transfer Handler Inner - Used to keep track of file transfer progress for either sender or receiver orientation
- Outbound
Request Rejected - Outbound
UdpSender - Peer
Channel - Peer
Channel Created - Peer
Channel Recv Half - A stream interface for receiving secure packets NOTE: on drop, if this is used for a P2P connection, disconnection will occur
- Peer
Channel Send Half - Peer
Command - Peer
Event - Peer
Info - Contains info about a peer, used for giving the user access to usernames and names of peers
- Persistence
Handler - This is what every C/NAC gets. This gets called before making I/O operations
- PreShared
Key - Pull
Object - ReKey
- ReKey
Result - ReVFS
Result - Register
Failure - Register
Okay - Register
ToHypernode - Rtdb
Config - For use in the TOML config as well as for during the Post-login phase
- SecBuffer
- A memory-secure wrapper for shipping around Bytes
- Secrecy
Mode Iter - An iterator over the variants of SecrecyMode
- Secure
BufMut Handle - Security
Level Iter - An iterator over the variants of SecurityLevel
- Send
Object - Server
Misc Settings - Miscellaneous settings for a node serving connections
- Server
Only Session Init Settings - Services
Config - Services
Object - Passed to the services handler post-login at the server. Intended to be passed to the client afterwards
- Session
List - Session
Security Settings - Session
Security Settings Builder - SigAlgorithm
Iter - An iterator over the variants of SigAlgorithm
- Stacked
Ratchet - A container meant to establish perfect forward secrecy AND scrambling w/ an independent key This is meant for messages, not file transfer. File transfers should use a single key throughout the entire file
- Symmetric
Identifier Handle - A convenience structure for executing commands that depend on a specific registered user
- Symmetric
Identifier Handle Ref - A reference to a user identifier
- Ticket
- A type sent through the server when a request is made
- Tracked
Callback Channel - A tracked callback channel that provides request-response tracking and monitoring.
- Tracked
Callback Channel Payload - A payload for the tracked callback channel.
- UdpChannel
- UdpMode
Iter - An iterator over the variants of UdpMode
- Virtual
Object Metadata - WebRTC
Compat Channel
Enums§
- Authentication
Request - Arguments for connecting to a node
- Backend
Type - Used when constructing the account manager
- Connect
Mode - If force_login is true, the protocol will disconnect any previously existent sessions in the session manager attributed to the account logging-in (so long as login succeeds) The default is a Standard login that will with force_login set to false
- Connect
Protocol - For saving the state of client-side connections
- Encryption
Algorithm - Generic
Network Stream - Group
Broadcast - Enum representing different types of group broadcast messages
- Group
Broadcast Payload - Group
Member Alter Mode - Group
Type - Header
Obfuscator Settings - KemAlgorithm
- Member
State - Network
Error - The basic error type for this crate
- Node
Connection Type - Node
Request - These are sent down the stack into the server. Most of the requests expect a ticket ID in order for processes sitting above the [Kernel] to know how the request went
- Node
Result - This type is for relaying results between the lower-level protocol and the higher-level kernel
- Node
Type - Used for determining the proper action when loading the server
- Object
Transfer Orientation - Object
Transfer Status - Peer
Connection Type - Peer
Response - Peer
Signal - Proposed
Credentials - When creating credentials, this is required
- ReKey
Return Type - Secrecy
Mode - Security
Level - Provides the enumeration for all security levels
- Server
Underlying Protocol - SigAlgorithm
- Tracked
Callback Error - An error that can occur when using the tracked callback channel.
- Transfer
Type - UdpMode
- User
Identifier - A convenience wrapper for passing arguments to functions that require searches for a user
Constants§
- AES_
GCM_ NONCE_ LENGTH_ BYTES - ASCON_
NONCE_ LENGTH_ BYTES - CHA_
CHA_ NONCE_ LENGTH_ BYTES - KEM_
ALGORITHM_ COUNT - KYBER_
NONCE_ LENGTH_ BYTES - LARGEST_
NONCE_ LEN
Traits§
- Algorithms
Ext - IfEq
Conditional - IfTrue
Conditional - NetKernel
- The
NetKernel
is the thread-safe interface between the single-threaded OR multi-threaded async protocol and your network application - Object
Source - PairMap
- Ratchet
- For allowing registration inside the toolset
- Remote
- Runtime
Future - SyncIO
- Convenient serialization methods for types that #[derive(Serialize, Deserialize)]
- Target
Locked Remote - Then
Functions§
- add_
inner - calculate_
optimal_ argon_ params - Uses: https://www.ory.sh/choose-recommended-argon2-parameters-password-hashing/ “To reach the desired execution time, you can tweak two variables. It is recommended to start with the highest amount of memory possible and one iteration. Reduce the memory until one hashing operation takes less than your desired duration. Next, advance the number of iterations to approach the desired execution time as close as possible”
- prepare_
virtual_ path - read_
one_ packet_ as_ framed - username_
to_ cid - Generates a CID given a username
- validate_
virtual_ path - write_
one_ packet
Type Aliases§
- Default
Node Builder - Default node builder type
- Lightweight
Node Builder - Virtual
Target Type - For readability