var searchIndex = {}; searchIndex["tarpc"] = {"doc":"An RPC library for Rust.","items":[[3,"ServeHandle","tarpc","Provides methods for blocking until the server completes,",null,null],[0,"protocol","","Provides the tarpc client and server, which implements the tarpc protocol.\nThe protocol is defined by the implementation.",null,null],[3,"Packet","tarpc::protocol","Packet shared between client and server.",null,null],[12,"rpc_id","","Packet id to map response to request.",0,null],[12,"message","","Packet payload.",0,null],[3,"Client","","A client stub that connects to a server to run rpcs.",null,null],[3,"Future","","An asynchronous RPC call",null,null],[3,"ServeHandle","","Provides methods for blocking until the server completes,",null,null],[3,"Config","","Configuration for client and server.",null,null],[12,"timeout","","Request/Response timeout between packet delivery.",1,null],[4,"Error","","Client errors that can occur during rpc calls",null,null],[13,"Io","","An IO-related error",2,null],[13,"ConnectionBroken","","The server hung up.",2,null],[11,"new","","Create a new client that connects to `addr`. The client uses the given timeout\nfor both reads and writes.",3,{"inputs":[{"name":"a"}],"output":{"name":"result"}}],[11,"with_config","","Create a new client that connects to `addr`. The client uses the given timeout\nfor both reads and writes.",3,{"inputs":[{"name":"a"},{"name":"config"}],"output":{"name":"result"}}],[11,"try_clone","","Clones the Client so that it can be shared across threads.",3,null],[11,"rpc","","Run the specified rpc method on the server this client is connected to",3,null],[11,"rpc_async","","Asynchronously run the specified rpc method on the server this client is connected to",3,null],[11,"drop","","",3,null],[11,"get","","Block until the result of the RPC call is available",4,null],[11,"wait","tarpc","Block until the server completes",5,null],[11,"local_addr","","Returns the address the server is bound to",5,null],[11,"shutdown","","Shutdown the server. Gracefully shuts down the serve thread but currently does not\ngracefully close open connections.",5,null],[11,"hash","tarpc::protocol","",0,null],[11,"cmp","","",0,null],[11,"partial_cmp","","",0,null],[11,"lt","","",0,null],[11,"le","","",0,null],[11,"gt","","",0,null],[11,"ge","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"serialize","","",0,null],[11,"deserialize","","",0,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[6,"Result","","Return type of rpc calls: either the successful return value, or a client error.",null,null],[8,"Serve","","A service provided by a server",null,null],[16,"Request","","The type of request received by the server",6,null],[16,"Reply","","The type of reply sent by the server",6,null],[10,"serve","","Return a reply for a given request",6,null],[11,"spawn","","spawn",6,null],[11,"spawn_with_config","","spawn",6,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"from","","",2,{"inputs":[{"name":"serializeerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"deserializeerror"}],"output":{"name":"error"}}],[11,"from","","",2,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"default","","",1,{"inputs":[],"output":{"name":"config"}}],[11,"fmt","","",1,null],[0,"macros","tarpc","Provides the macro used for constructing rpc services and client stubs.",null,null],[0,"serde","tarpc::macros","Serde re-exports required by macros. Not for general use.",null,null],[8,"Deserialize","tarpc::macros::serde","`Deserialize` represents a type that can be deserialized.",null,null],[10,"deserialize","","Deserialize this value given this `Deserializer`.",7,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[8,"Deserializer","","`Deserializer` is a trait that can deserialize values by threading a `Visitor` trait through a\nvalue. It supports two entry point styles which enables different kinds of deserialization.",null,null],[16,"Error","","The error type that can be returned if some error occurs during deserialization.",8,null],[10,"deserialize","","This method walks a visitor through a value as it is being deserialized.",8,null],[11,"deserialize_bool","","This method hints that the `Deserialize` type is expecting a `bool` value.",8,null],[11,"deserialize_usize","","This method hints that the `Deserialize` type is expecting an `usize` value.",8,null],[11,"deserialize_u8","","This method hints that the `Deserialize` type is expecting an `u8` value.",8,null],[11,"deserialize_u16","","This method hints that the `Deserialize` type is expecting an `u16` value.",8,null],[11,"deserialize_u32","","This method hints that the `Deserialize` type is expecting an `u32` value.",8,null],[11,"deserialize_u64","","This method hints that the `Deserialize` type is expecting an `u64` value.",8,null],[11,"deserialize_isize","","This method hints that the `Deserialize` type is expecting an `isize` value.",8,null],[11,"deserialize_i8","","This method hints that the `Deserialize` type is expecting an `i8` value.",8,null],[11,"deserialize_i16","","This method hints that the `Deserialize` type is expecting an `i16` value.",8,null],[11,"deserialize_i32","","This method hints that the `Deserialize` type is expecting an `i32` value.",8,null],[11,"deserialize_i64","","This method hints that the `Deserialize` type is expecting an `i64` value.",8,null],[11,"deserialize_f32","","This method hints that the `Deserialize` type is expecting a `f32` value.",8,null],[11,"deserialize_f64","","This method hints that the `Deserialize` type is expecting a `f64` value.",8,null],[11,"deserialize_char","","This method hints that the `Deserialize` type is expecting a `char` value.",8,null],[11,"deserialize_str","","This method hints that the `Deserialize` type is expecting a `&str` value.",8,null],[11,"deserialize_string","","This method hints that the `Deserialize` type is expecting a `String` value.",8,null],[11,"deserialize_unit","","This method hints that the `Deserialize` type is expecting an `unit` value.",8,null],[11,"deserialize_option","","This method hints that the `Deserialize` type is expecting an `Option` value. This allows\ndeserializers that encode an optional value as a nullable value to convert the null value\ninto a `None`, and a regular value as `Some(value)`.",8,null],[11,"deserialize_seq","","This method hints that the `Deserialize` type is expecting a sequence value. This allows\ndeserializers to parse sequences that aren't tagged as sequences.",8,null],[11,"deserialize_fixed_size_array","","This method hints that the `Deserialize` type is expecting a fixed size array. This allows\ndeserializers to parse arrays that aren't tagged as arrays.",8,null],[11,"deserialize_bytes","","This method hints that the `Deserialize` type is expecting a `Vec<u8>`. This allows\ndeserializers that provide a custom byte vector serialization to properly deserialize the\ntype.",8,null],[11,"deserialize_map","","This method hints that the `Deserialize` type is expecting a map of values. This allows\ndeserializers to parse sequences that aren't tagged as maps.",8,null],[11,"deserialize_unit_struct","","This method hints that the `Deserialize` type is expecting a unit struct. This allows\ndeserializers to a unit struct that aren't tagged as a unit struct.",8,null],[11,"deserialize_newtype_struct","","This method hints that the `Deserialize` type is expecting a newtype struct. This allows\ndeserializers to a newtype struct that aren't tagged as a newtype struct.",8,null],[11,"deserialize_tuple_struct","","This method hints that the `Deserialize` type is expecting a tuple struct. This allows\ndeserializers to parse sequences that aren't tagged as sequences.",8,null],[11,"deserialize_struct","","This method hints that the `Deserialize` type is expecting a struct. This allows\ndeserializers to parse sequences that aren't tagged as maps.",8,null],[11,"deserialize_struct_field","","This method hints that the `Deserialize` type is expecting some sort of struct field\nname. This allows deserializers to choose between &str, usize, or &[u8] to properly\ndeserialize a struct field.",8,null],[11,"deserialize_tuple","","This method hints that the `Deserialize` type is expecting a tuple value. This allows\ndeserializers that provide a custom tuple serialization to properly deserialize the type.",8,null],[11,"deserialize_enum","","This method hints that the `Deserialize` type is expecting an enum value. This allows\ndeserializers that provide a custom enumeration serialization to properly deserialize the\ntype.",8,null],[11,"deserialize_ignored_any","","This method hints that the `Deserialize` type needs to deserialize a value whose type\ndoesn't matter because it is ignored.",8,null],[8,"Serialize","","A trait that describes a type that can be serialized by a `Serializer`.",null,null],[10,"serialize","","Serializes this value into this serializer.",9,null],[8,"Serializer","","A trait that describes a type that can serialize a stream of values into the underlying format.",null,null],[16,"Error","","The error type that can be returned if some error occurs during serialization.",10,null],[10,"serialize_bool","","Serializes a `bool` value.",10,null],[11,"serialize_isize","","Serializes a `isize` value. By default it casts the value to a `i64` and\npasses it to the `serialize_i64` method.",10,null],[11,"serialize_i8","","Serializes a `i8` value. By default it casts the value to a `i64` and\npasses it to the `serialize_i64` method.",10,null],[11,"serialize_i16","","Serializes a `i16` value. By default it casts the value to a `i64` and\npasses it to the `serialize_i64` method.",10,null],[11,"serialize_i32","","Serializes a `i32` value. By default it casts the value to a `i64` and\npasses it to the `serialize_i64` method.",10,null],[10,"serialize_i64","","Serializes a `i64` value.",10,null],[11,"serialize_usize","","Serializes a `usize` value. By default it casts the value to a `u64` and\npasses it to the `serialize_u64` method.",10,null],[11,"serialize_u8","","Serializes a `u8` value. By default it casts the value to a `u64` and passes\nit to the `serialize_u64` method.",10,null],[11,"serialize_u16","","Serializes a `u32` value. By default it casts the value to a `u64` and passes\nit to the `serialize_u64` method.",10,null],[11,"serialize_u32","","Serializes a `u32` value. By default it casts the value to a `u64` and passes\nit to the `serialize_u64` method.",10,null],[10,"serialize_u64","","`Serializes a `u64` value.",10,null],[11,"serialize_f32","","Serializes a `f32` value. By default it casts the value to a `f64` and passes\nit to the `serialize_f64` method.",10,null],[10,"serialize_f64","","Serializes a `f64` value.",10,null],[11,"serialize_char","","Serializes a character. By default it serializes it as a `&str` containing a\nsingle character.",10,null],[10,"serialize_str","","Serializes a `&str`.",10,null],[11,"serialize_bytes","","Enables those serialization formats that support serializing\nbyte slices separately from generic arrays. By default it serializes as a regular array.",10,null],[10,"serialize_unit","","Serializes a `()` value.",10,null],[11,"serialize_unit_struct","","Serializes a unit struct value.",10,null],[11,"serialize_unit_variant","","Serializes a unit variant, otherwise known as a variant with no arguments.",10,null],[11,"serialize_newtype_struct","","Allows a tuple struct with a single element, also known as a\nnewtyped value, to be more efficiently serialized than a tuple struct with multiple items.\nBy default it just serializes the value as a tuple struct sequence.",10,null],[11,"serialize_newtype_variant","","Allows a variant with a single item to be more efficiently\nserialized than a variant with multiple items. By default it just serializes the value as a\ntuple variant sequence.",10,null],[10,"serialize_none","","Serializes a `None` value..serialize",10,null],[10,"serialize_some","","Serializes a `Some(...)` value.",10,null],[10,"serialize_seq","","Serializes a sequence.",10,null],[10,"serialize_seq_elt","","Serializes a sequence element.",10,null],[11,"serialize_tuple","","Serializes a tuple.",10,null],[11,"serialize_tuple_elt","","Serializes a tuple element.",10,null],[11,"serialize_fixed_size_array","","Serializes a fixed-size array.",10,null],[11,"serialize_tuple_struct","","Serializes a tuple struct.",10,null],[11,"serialize_tuple_struct_elt","","Serializes a tuple struct element.",10,null],[11,"serialize_tuple_variant","","Serializes a tuple variant.",10,null],[11,"serialize_tuple_variant_elt","","Serializes a tuple element.",10,null],[10,"serialize_map","","Serializes a map.",10,null],[10,"serialize_map_elt","","Serializes a map element (key-value pair).",10,null],[11,"serialize_struct","","Serializes a struct.",10,null],[11,"serialize_struct_elt","","Serializes an element of a struct.",10,null],[11,"serialize_struct_variant","","Serializes a struct variant.",10,null],[11,"serialize_struct_variant_elt","","Serializes an element of a struct variant.",10,null],[0,"de","","Deserialization re-exports required by macros. Not for general use.",null,null],[8,"EnumVisitor","tarpc::macros::serde::de","`EnumVisitor` is a visitor that is created by the `Deserialize` and passed to the\n`Deserializer` in order to deserialize enums.",null,null],[16,"Value","","The value produced by this visitor.",11,null],[10,"visit","","Visit the specific variant with the `VariantVisitor`.",11,null],[8,"Error","","`Error` is a trait that allows a `Deserialize` to generically create a\n`Deserializer` error.",null,null],[10,"custom","","Raised when there is general error when deserializing a type.",12,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[10,"end_of_stream","","Raised when a `Deserialize` type unexpectedly hit the end of the stream.",12,{"inputs":[],"output":{"name":"self"}}],[11,"invalid_type","","Raised when a `Deserialize` was passed an incorrect type.",12,{"inputs":[{"name":"type"}],"output":{"name":"self"}}],[11,"invalid_value","","Raised when a `Deserialize` was passed an incorrect value.",12,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"invalid_length","","Raised when a fixed sized sequence or map was passed in the wrong amount of arguments.",12,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[11,"unknown_variant","","Raised when a `Deserialize` enum type received an unexpected variant.",12,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"unknown_field","","Raised when a `Deserialize` struct type received an unexpected struct field.",12,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"missing_field","","raised when a `deserialize` struct type did not receive a field.",12,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"duplicate_field","","Raised when a `Deserialize` struct type received more than one of the\nsame struct field.",12,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[8,"VariantVisitor","","`VariantVisitor` is a visitor that is created by the `Deserializer` and passed to the\n`Deserialize` in order to deserialize a specific enum variant.",null,null],[16,"Error","","The error type that can be returned if some error occurs during deserialization.",13,null],[10,"visit_variant","","`visit_variant` is called to identify which variant to deserialize.",13,null],[11,"visit_unit","","`visit_unit` is called when deserializing a variant with no values.",13,null],[11,"visit_newtype","","`visit_newtype` is called when deserializing a variant with a single value. By default this\nuses the `visit_tuple` method to deserialize the value.",13,null],[11,"visit_tuple","","`visit_tuple` is called when deserializing a tuple-like variant.",13,null],[11,"visit_struct","","`visit_struct` is called when deserializing a struct-like variant.",13,null],[8,"Visitor","","This trait represents a visitor that walks through a deserializer.",null,null],[16,"Value","","The value produced by this visitor.",14,null],[11,"visit_bool","","`visit_bool` deserializes a `bool` into a `Value`.",14,null],[11,"visit_isize","","`visit_isize` deserializes a `isize` into a `Value`.",14,null],[11,"visit_i8","","`visit_i8` deserializes a `i8` into a `Value`.",14,null],[11,"visit_i16","","`visit_i16` deserializes a `i16` into a `Value`.",14,null],[11,"visit_i32","","`visit_i32` deserializes a `i32` into a `Value`.",14,null],[11,"visit_i64","","`visit_i64` deserializes a `i64` into a `Value`.",14,null],[11,"visit_usize","","`visit_usize` deserializes a `usize` into a `Value`.",14,null],[11,"visit_u8","","`visit_u8` deserializes a `u8` into a `Value`.",14,null],[11,"visit_u16","","`visit_u16` deserializes a `u16` into a `Value`.",14,null],[11,"visit_u32","","`visit_u32` deserializes a `u32` into a `Value`.",14,null],[11,"visit_u64","","`visit_u64` deserializes a `u64` into a `Value`.",14,null],[11,"visit_f32","","`visit_f32` deserializes a `f32` into a `Value`.",14,null],[11,"visit_f64","","`visit_f64` deserializes a `f64` into a `Value`.",14,null],[11,"visit_char","","`visit_char` deserializes a `char` into a `Value`.",14,null],[11,"visit_str","","`visit_str` deserializes a `&str` into a `Value`.",14,null],[11,"visit_string","","`visit_string` deserializes a `String` into a `Value`. This allows a deserializer to avoid\na copy if it is deserializing a string from a `String` type. By default it passes a `&str`\nto the `visit_str` method.",14,null],[11,"visit_unit","","`visit_unit` deserializes a `()` into a `Value`.",14,null],[11,"visit_unit_struct","","`visit_unit_struct` deserializes a unit struct into a `Value`.",14,null],[11,"visit_none","","`visit_none` deserializes a none value into a `Value`.",14,null],[11,"visit_some","","`visit_some` deserializes a value into a `Value`.",14,null],[11,"visit_newtype_struct","","`visit_newtype_struct` deserializes a value into a `Value`.",14,null],[11,"visit_seq","","`visit_seq` deserializes a `SeqVisitor` into a `Value`.",14,null],[11,"visit_map","","`visit_map` deserializes a `MapVisitor` into a `Value`.",14,null],[11,"visit_bytes","","`visit_bytes` deserializes a `&[u8]` into a `Value`.",14,null],[11,"visit_byte_buf","","`visit_byte_buf` deserializes a `Vec<u8>` into a `Value`.",14,null],[14,"service!","tarpc","The main macro that creates RPC services.",null,null],[11,"spawn","tarpc::protocol","spawn",6,null],[11,"spawn_with_config","","spawn",6,null]],"paths":[[3,"Packet"],[3,"Config"],[4,"Error"],[3,"Client"],[3,"Future"],[3,"ServeHandle"],[8,"Serve"],[8,"Deserialize"],[8,"Deserializer"],[8,"Serialize"],[8,"Serializer"],[8,"EnumVisitor"],[8,"Error"],[8,"VariantVisitor"],[8,"Visitor"]]}; initSearch(searchIndex);