Struct routing::Node
[−]
[src]
pub struct Node { /* fields omitted */ }
Interface for sending and receiving messages to and from other nodes, in the role of a full routing node.
A node is a part of the network that can route messages and be a member of a section or group
authority. Its methods can be used to send requests and responses as either an individual
ManagedNode
or as a part of a section or group authority. Their src
argument indicates that
role, and can be any Authority
other than Client
.
Methods
impl Node
[src]
fn builder() -> NodeBuilder
Creates a new builder to configure and create a Node
.
fn send_get_idata_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_put_idata_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
data: ImmutableData,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
data: ImmutableData,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_put_mdata_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
data: MutableData,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
data: MutableData,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
fn send_mutate_mdata_entries_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
actions: BTreeMap<Vec<u8>, EntryAction>,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
actions: BTreeMap<Vec<u8>, EntryAction>,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
fn send_get_mdata_shell_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_value_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
key: Vec<u8>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
key: Vec<u8>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_set_mdata_user_permissions_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
user: User,
permissions: PermissionSet,
version: u64,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
user: User,
permissions: PermissionSet,
version: u64,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
fn send_del_mdata_user_permissions_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
user: User,
version: u64,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
user: User,
version: u64,
msg_id: MessageId,
requester: PublicKey
) -> Result<(), InterfaceError>
fn send_change_mdata_owner_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
new_owners: BTreeSet<PublicKey>,
version: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
name: XorName,
tag: u64,
new_owners: BTreeSet<PublicKey>,
version: u64,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_refresh_request(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
content: Vec<u8>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
content: Vec<u8>,
msg_id: MessageId
) -> Result<(), InterfaceError>
Send a Refresh
request from src
to dst
to trigger churn.
fn send_get_account_info_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<AccountInfo, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<AccountInfo, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_idata_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<ImmutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<ImmutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
Respond to a GetIData
request.
fn send_put_idata_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<MutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<MutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
Respond to a GetMData
request.
Note: this response is unlikely to accumulate during churn.
fn send_put_mdata_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_version_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<u64, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<u64, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_shell_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<MutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<MutableData, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
Respond to a GetMDataShell
request.
fn send_list_mdata_entries_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeMap<Vec<u8>, Value>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeMap<Vec<u8>, Value>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_list_mdata_keys_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeSet<Vec<u8>>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeSet<Vec<u8>>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_list_mdata_values_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<Vec<Value>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<Vec<Value>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_get_mdata_value_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<Value, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<Value, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
Respond to a GetMDataValue
request.
fn send_mutate_mdata_entries_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_list_mdata_permissions_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeMap<User, PermissionSet>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<BTreeMap<User, PermissionSet>, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_list_mdata_user_permissions_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<PermissionSet, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<PermissionSet, ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_set_mdata_user_permissions_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_list_auth_keys_and_version_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(BTreeSet<PublicKey>, u64), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(BTreeSet<PublicKey>, u64), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_ins_auth_key_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_del_auth_key_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_del_mdata_user_permissions_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn send_change_mdata_owner_response(
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
&mut self,
src: Authority<XorName>,
dst: Authority<XorName>,
res: Result<(), ClientError>,
msg_id: MessageId
) -> Result<(), InterfaceError>
fn close_group(&self, name: XorName, count: usize) -> Option<Vec<XorName>>
Returns the first count
names of the nodes in the routing table which are closest
to the given one.
fn id(&self) -> Result<PublicId, RoutingError>
Returns the PublicId
of this node.
fn routing_table(&self) -> Result<&RoutingTable<XorName>, RoutingError>
Returns the routing table of this node.
fn min_section_size(&self) -> usize
Returns the minimum section size this vault is using.