Skip to content

Commit 17a0ad8

Browse files
committed
feat: add NodeQuery, SubscriptionInfo, and NetworkDebugInfo APIs
- Add NodeQuery enum with ConnectedPeers and SubscriptionInfo variants - Add SubscriptionInfo struct for tracking subscriptions - Add NetworkDebugInfo struct for network debugging - Update QueryResponse enum to include NetworkDebug variant - These APIs were present in 0.1.7 but missing from main branch - Required by freenet-core for network debugging functionality
1 parent 8f99527 commit 17a0ad8

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "freenet-stdlib"
3-
version = "0.1.8"
3+
version = "0.1.9"
44
edition = "2021"
55
rust-version = "1.71.1"
66
publish = true

rust/src/client_api/client_events.rs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,18 @@ pub enum ClientRequest<'a> {
253253
Authenticate {
254254
token: String,
255255
},
256-
NodeQueries(ConnectedPeers),
256+
NodeQueries(NodeQuery),
257257
/// Gracefully disconnect from the host.
258258
Close,
259259
}
260260

261+
#[derive(Serialize, Deserialize, Debug, Clone)]
262+
pub enum NodeQuery {
263+
ConnectedPeers,
264+
SubscriptionInfo,
265+
}
266+
267+
// For backward compatibility
261268
#[derive(Serialize, Deserialize, Debug, Clone)]
262269
pub struct ConnectedPeers {}
263270

@@ -716,9 +723,23 @@ pub enum HostResponse<T = WrappedState> {
716723

717724
type Peer = String;
718725

726+
#[derive(Serialize, Deserialize, Debug)]
727+
pub struct SubscriptionInfo {
728+
pub contract_key: ContractKey,
729+
pub client_id: usize,
730+
pub last_update: Option<std::time::SystemTime>,
731+
}
732+
733+
#[derive(Serialize, Deserialize, Debug)]
734+
pub struct NetworkDebugInfo {
735+
pub subscriptions: Vec<SubscriptionInfo>,
736+
pub connected_peers: Vec<(Peer, SocketAddr)>,
737+
}
738+
719739
#[derive(Serialize, Deserialize, Debug)]
720740
pub enum QueryResponse {
721741
ConnectedPeers { peers: Vec<(Peer, SocketAddr)> },
742+
NetworkDebug(NetworkDebugInfo),
722743
}
723744

724745
impl HostResponse {

0 commit comments

Comments
 (0)