pub enum ControlRequest {
Show 17 variants
Hatch {
service_type: ServiceType,
network_id: String,
metadata: HashMap<String, Value>,
},
Flock,
Farewell {
service_id: String,
},
FarewellEvict {
service_id: String,
},
Pause {
service_id: String,
eta_minutes: u64,
},
Resume {
service_id: String,
},
Join {
network_id: String,
},
Leave {
network_id: String,
force: bool,
},
Status,
AnnounceNow,
Ping,
PutFile {
chunk_data: Vec<u8>,
ph: Option<f64>,
q_target: Option<f64>,
network_id: String,
file_name: Option<String>,
},
GetFile {
chunk_id: String,
network_id: String,
},
ConnectRelay {
relay_addr: String,
},
CreateInvite {
network_id: String,
invitee_fingerprint: Option<String>,
invite_password: String,
ttl_hours: Option<u64>,
},
StorageInfo {
network_id: String,
},
ListFiles {
network_id: String,
},
}Expand description
Request sent from CLI → daemon.
Variants§
Hatch
Spawn a new service of service_type in network_id.
Fields
service_type: ServiceTypeFlock
Return all known peers and network summary.
Farewell
Kill a running service by ID.
FarewellEvict
Permanently evict a Pouch from the network.
Announces to the network that this Pouch is going offline permanently,
records a reputation eviction, removes the service from ServiceRegistry,
and purges all on-disk fragment storage.
Fragment redistribution to other peers is not yet automated — the remaining network peers will detect missing fragments via Proof-of-Storage challenges and trigger preventive recoding.
Pause
Pause a running Pouch service for planned maintenance.
Announces via gossip that peers should mark this node’s fragments as
temporarily_unavailable. If the service does not resume within
eta_minutes, the quality monitor will apply fault-score increments.
Fields
Resume
Resume a previously paused service.
Triggers an immediate gossip announcement and clears the Paused status.
Join
Join an existing network (subscribe to gossip topics).
Leave
Leave a network.
If force is true the daemon automatically evicts all active services
on the network before leaving instead of returning a blocking error.
Pouch services are evicted permanently (equivalent to
bp farewell --evict); Bill and Post services are stopped gracefully
(equivalent to bp farewell).
Status
Return info about this daemon (identity, services, networks).
AnnounceNow
Announce all active services via gossip and wait 2 s for propagation.
Used by bp status to ensure the peer list is fresh before
displaying it. Returns Ok("announced") once the wait is done.
Ping
Ping — used to check if daemon is alive.
PutFile
Encode chunk_data with RLNC and store fragments in the local Pouch.
k and n are derived automatically by the daemon from live QoS data
and the ph target recovery probability.
Returns a chunk_id (BLAKE3 hash prefix) that can be used with GetFile.
Fields
GetFile
Retrieve and decode a stored file chunk by its chunk_id.
Fields
ConnectRelay
Dial a relay node to enable NAT traversal via circuit relay v2.
The daemon dials relay_addr, establishes a reservation, and
subsequently becomes reachable through the relay at
/p2p-circuit addresses.
Fields
CreateInvite
Generate a signed + password-encrypted invite token for network_id.
The token contains the NetworkMetaKey for the network, signed with
the daemon’s Ed25519 key and encrypted with invite_password. Share
the blob and the password with the invitee out-of-band.
Fields
StorageInfo
Return storage statistics for all local Pouch services.
Includes per-Pouch quota, usage, tier, plus aggregate totals and total bytes uploaded by this node’s Bill services.
ListFiles
List files uploaded by this node.
Returns entries from the local file registry populated by PutFile.
Trait Implementations§
Source§impl Clone for ControlRequest
impl Clone for ControlRequest
Source§fn clone(&self) -> ControlRequest
fn clone(&self) -> ControlRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ControlRequest
impl Debug for ControlRequest
Source§impl<'de> Deserialize<'de> for ControlRequest
impl<'de> Deserialize<'de> for ControlRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ControlRequest
impl RefUnwindSafe for ControlRequest
impl Send for ControlRequest
impl Sync for ControlRequest
impl Unpin for ControlRequest
impl UnwindSafe for ControlRequest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more