var searchIndex = {}; searchIndex["safe_network_common"] = {"doc":"#Safe-Netwok-Common Library\n[Project github page](https://github.com/maidsafe/safe_network_common)","items":[[0,"messaging","safe_network_common","Messaging infrastructure",null,null],[3,"MpidMessage","safe_network_common::messaging","A full message including header and body which can be sent to or retrieved from the network.",null,null],[3,"MpidHeader","","Minimal information about a given message which can be used as a notification to the receiver.",null,null],[4,"Error","","Error types relating to MPID messaging.",null,null],[13,"MetadataTooLarge","","Used where the length of a [header's `metadata`](struct.MpidHeader.html#method.new) exceeds\n[`MAX_HEADER_METADATA_SIZE`](constant.MAX_HEADER_METADATA_SIZE.html).",0,null],[13,"BodyTooLarge","","Used where the length of a [message's `body`](struct.MpidMessage.html#method.new) exceeds\n[`MAX_BODY_SIZE`](constant.MAX_BODY_SIZE.html).",0,null],[13,"Serialisation","","Serialisation error.",0,null],[4,"MpidMessageWrapper","","A serialisable wrapper to allow multiplexing all MPID message types and actions via a single\ntype.",null,null],[13,"Online","","Sent by a Client to its MpidManagers to notify them that it has just connected to the\nnetwork.",1,null],[13,"PutMessage","","Sent by a Client to its MpidManagers when storing a new `MpidMessage`.",1,null],[13,"PutHeader","","Sent by the sender's MpidManagers to the receiver's MpidManagers to alert them of a new\nmessage.",1,null],[13,"GetMessage","","Sent by the receiver to its MpidManagers to try to retrieve the message corresponding to the\nheader.",1,null],[13,"OutboxHas","","Sent by a Client to its MpidManagers to query whether the provided vector of message names\ncontinue to exist as messages in its outbox.",1,null],[13,"OutboxHasResponse","","Sent by MpidManagers to the Client as a response to an `OutboxHas`. The contents is a\nsubset of the list provided in the corresponding `OutboxHas`.",1,null],[13,"GetOutboxHeaders","","Sent by a Client to its MpidManagers to retrieve the list of headers of all messages in its\noutbox.",1,null],[13,"GetOutboxHeadersResponse","","Sent by MpidManagers to the Client as a response to a `GetOutboxHeaders`. The contents is\nthe list of headers of all messages in the outbox.",1,null],[13,"DeleteMessage","","Sent by a Client to its MpidManagers to delete the named message from its inbox or outbox.",1,null],[13,"DeleteHeader","","Sent by a receiving Client to the sender's MpidManagers to delete the named message's header\nfrom the sender's outbox.",1,null],[11,"fmt","","",0,null],[11,"fmt","","",0,null],[11,"description","","",0,null],[11,"cause","","",0,null],[11,"from","","",0,{"inputs":[{"name":"serialisationerror"}],"output":{"name":"error"}}],[11,"encode","","",2,null],[11,"decode","","",2,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"clone","","",2,null],[11,"hash","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"new","","Constructor.",2,{"inputs":[{"name":"xorname"},{"name":"vec"},{"name":"secretkey"}],"output":{"name":"result"}}],[11,"sender","","The name of the original creator of the message.",2,null],[11,"guid","","A unique identifier generated randomly when calling `new()`.",2,null],[11,"metadata","","Arbitrary, user-supplied information.",2,null],[11,"signature","","The signature of `sender`, `guid` and `metadata`, created when calling `new()`.",2,null],[11,"name","","The name of the header. This is a relatively expensive getter - the name is the SHA512 hash\nof the serialised header, so its use should be minimised.",2,null],[11,"verify","","Validates the header's signature against the provided `PublicKey`.",2,null],[11,"fmt","","",2,null],[11,"encode","","",3,null],[11,"decode","","",3,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"clone","","",3,null],[11,"hash","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"new","","Constructor.",3,{"inputs":[{"name":"xorname"},{"name":"vec"},{"name":"xorname"},{"name":"vec"},{"name":"secretkey"}],"output":{"name":"result"}}],[11,"header","","Getter for `MpidHeader` member, created when calling `new()`.",3,null],[11,"recipient","","The name of the intended receiver of the message.",3,null],[11,"body","","Arbitrary, user-supplied data representing the main portion of the message.",3,null],[11,"name","","The name of the message, equivalent to the\n[`MpidHeader::name()`](../struct.MpidHeader.html#method.name). As per that getter, this is\nrelatively expensive, so its use should be minimised.",3,null],[11,"verify","","Validates the message and header signatures against the provided `PublicKey`.",3,null],[11,"fmt","","",3,null],[11,"encode","","",1,null],[11,"decode","","",1,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"hash","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[17,"GUID_SIZE","","Length of the GUID (unique ID) of a message (16 bytes).",null,null],[17,"MAX_INBOX_SIZE","","Maximum allowed inbox size for an account (128 MiB).",null,null],[17,"MAX_OUTBOX_SIZE","","Maximum allowed outbox size for an account (128 MiB).",null,null],[17,"MAX_BODY_SIZE","","Maximum allowed length for a [message's `body`](struct.MpidMessage.html#method.new) (101,760\nbytes).",null,null],[17,"MAX_HEADER_METADATA_SIZE","","Maximum allowed length for a [header's `metadata`](struct.MpidHeader.html#method.new) (128\nbytes).",null,null],[0,"client_errors","safe_network_common","Error communication between vaults and core",null,null],[4,"GetError","safe_network_common::client_errors","Errors in Get (non-mutating) operations involving Core and Vaults",null,null],[13,"NoSuchAccount","","SAFE Account does not exist for client",4,null],[13,"NoSuchData","","Requested data not found",4,null],[13,"NetworkOther","","Network error occurring at Vault level which has no bearing on clients, e.g. serialisation\nfailure or database failure",4,null],[4,"MutationError","","Errors in Put/Post/Delete (mutating) operations involving Core and Vaults",null,null],[13,"NoSuchAccount","","SAFE Account does not exist for client",5,null],[13,"AccountExists","","Attempt to take an account network name that already exists",5,null],[13,"NoSuchData","","Requested data not found",5,null],[13,"DataExists","","Attempt to create a mutable data when data with such a name already exists",5,null],[13,"LowBalance","","Insufficient balance for performing a given mutating operation",5,null],[13,"InvalidSuccessor","","Invalid successor for performing a given mutating operation, e.g. signature mismatch or\ninvalid data versioning",5,null],[13,"InvalidOperation","","Invalid Operation such as a POST on ImmutableData",5,null],[13,"NetworkFull","","The loss of sacrificial copies indicates the network as a whole is no longer having\nenough space to accept further put request so have to wait for more nodes to join",5,null],[13,"NetworkOther","","Network error occurring at Vault level which has no bearing on clients, e.g. serialisation\nfailure or database failure",5,null],[11,"decode","","",4,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",4,null],[11,"hash","","",4,null],[11,"partial_cmp","","",4,null],[11,"lt","","",4,null],[11,"le","","",4,null],[11,"gt","","",4,null],[11,"ge","","",4,null],[11,"cmp","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"from","","",4,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",4,null],[11,"description","","",4,null],[11,"decode","","",5,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",5,null],[11,"hash","","",5,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"cmp","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"from","","",5,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",5,null],[11,"description","","",5,null],[17,"TYPE_TAG_SESSION_PACKET","safe_network_common","Structured Data Tag for Session Packet Type",null,null],[17,"TYPE_TAG_DNS_PACKET","","Structured Data Tag for DNS Packet Type",null,null]],"paths":[[4,"Error"],[4,"MpidMessageWrapper"],[3,"MpidHeader"],[3,"MpidMessage"],[4,"GetError"],[4,"MutationError"]]}; initSearch(searchIndex);