var searchIndex = {}; searchIndex["mio"] = {"doc":"A fast, low-level IO library for Rust focusing on non-blocking APIs, event\nnotification, and other useful utilities for building high performance IO\napps.","items":[[3,"Ipv4Addr","mio","Representation of an IPv4 address.",null,null],[3,"Ipv6Addr","","Representation of an IPv6 address.",null,null],[3,"PollOpt","","",null,null],[3,"EventSet","","",null,null],[3,"IoEvent","","",null,null],[12,"kind","","",0,null],[12,"token","","",0,null],[3,"EventLoop","","Single threaded IO event loop.",null,null],[3,"EventLoopConfig","","Configure EventLoop runtime details",null,null],[3,"Sender","","Sends messages to the EventLoop from other threads.",null,null],[3,"Poll","","",null,null],[3,"Events","","",null,null],[3,"Timeout","","",null,null],[3,"TimerError","","",null,null],[3,"Token","","",null,null],[12,"0","","",1,null],[3,"Selector","","The guts of the Windows event loop, this is the struct which actually owns\na completion port.",null,null],[4,"IpAddr","","An IP address, either a IPv4 or IPv6 address.",null,null],[13,"V4","","",2,null],[13,"V6","","",2,null],[4,"NotifyError","","",null,null],[13,"Io","","",3,null],[13,"Full","","",3,null],[13,"Closed","","",3,null],[0,"util","","Utilities for non-blocking IO programs",null,null],[3,"BoundedQueue","mio::util","",null,null],[11,"with_capacity","","",4,{"inputs":[{"name":"usize"}],"output":{"name":"queue"}}],[11,"push","","",4,null],[11,"pop","","",4,null],[11,"clone","","",4,null],[6,"Slab","","",null,null],[11,"cmp","mio","",5,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"clone","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"edge","","",5,{"inputs":[],"output":{"name":"pollopt"}}],[11,"empty","","",5,{"inputs":[],"output":{"name":"pollopt"}}],[11,"level","","",5,{"inputs":[],"output":{"name":"pollopt"}}],[11,"oneshot","","",5,{"inputs":[],"output":{"name":"pollopt"}}],[11,"all","","",5,{"inputs":[],"output":{"name":"pollopt"}}],[11,"is_edge","","",5,null],[11,"is_level","","",5,null],[11,"is_oneshot","","",5,null],[11,"bits","","",5,null],[11,"contains","","",5,null],[11,"insert","","",5,null],[11,"remove","","",5,null],[11,"bitor","","",5,null],[11,"bitxor","","",5,null],[11,"bitand","","",5,null],[11,"sub","","",5,null],[11,"not","","",5,null],[11,"fmt","","",5,null],[11,"cmp","","",6,null],[11,"partial_cmp","","",6,null],[11,"lt","","",6,null],[11,"le","","",6,null],[11,"gt","","",6,null],[11,"ge","","",6,null],[11,"clone","","",6,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"none","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"readable","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"writable","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"error","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"hup","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"all","","",6,{"inputs":[],"output":{"name":"eventset"}}],[11,"is_readable","","",6,null],[11,"is_writable","","",6,null],[11,"is_error","","",6,null],[11,"is_hup","","",6,null],[11,"insert","","",6,null],[11,"remove","","",6,null],[11,"bits","","",6,null],[11,"contains","","",6,null],[11,"bitor","","",6,null],[11,"bitxor","","",6,null],[11,"bitand","","",6,null],[11,"sub","","",6,null],[11,"not","","",6,null],[11,"fmt","","",6,null],[11,"fmt","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"new","","Create a new IoEvent.",0,{"inputs":[{"name":"eventset"},{"name":"token"}],"output":{"name":"ioevent"}}],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"new","","Creates a new configuration for the event loop with all default options\nspecified.",7,{"inputs":[],"output":{"name":"eventloopconfig"}}],[11,"notify_capacity","","Sets the maximum number of messages that can be buffered on the event\nloop's notification channel before a send will fail.",7,null],[11,"messages_per_tick","","Sets the maximum number of messages that can be processed on any tick of\nthe event loop.",7,null],[11,"timer_tick_ms","","",7,null],[11,"timer_wheel_size","","",7,null],[11,"timer_capacity","","",7,null],[11,"default","","",7,{"inputs":[],"output":{"name":"eventloopconfig"}}],[11,"fmt","","",8,null],[11,"new","","Initializes a new event loop using default configuration settings. The\nevent loop will not be running yet.",8,{"inputs":[],"output":{"name":"result"}}],[11,"configured","","",8,{"inputs":[{"name":"eventloopconfig"}],"output":{"name":"result"}}],[11,"channel","","Returns a sender that allows sending messages to the event loop in a\nthread-safe way, waking up the event loop if needed.",8,null],[11,"timeout_ms","","Schedules a timeout after the requested time interval. When the\nduration has been reached,\n[Handler::timeout](trait.Handler.html#method.timeout) will be invoked\npassing in the supplied token.",8,null],[11,"clear_timeout","","If the supplied timeout has not been triggered, cancel it such that it\nwill not be triggered in the future.",8,null],[11,"shutdown","","Tells the event loop to exit after it is done handling all events in the\ncurrent iteration.",8,null],[11,"is_running","","Indicates whether the event loop is currently running. If it's not it has either\nstopped or is scheduled to stop on the next tick.",8,null],[11,"register","","Registers an IO handle with the event loop.",8,null],[11,"reregister","","Re-Registers an IO handle with the event loop.",8,null],[11,"run","","Keep spinning the event loop indefinitely, and notify the handler whenever\nany of the registered handles are ready.",8,null],[11,"deregister","","Deregisters an IO handle with the event loop.",8,null],[11,"run_once","","Spin the event loop once, with a timeout of one second, and notify the\nhandler if any of the registered handles become ready during that\ntime.",8,null],[11,"drop","","",8,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"send","","",9,null],[11,"from_str","","",2,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",3,null],[11,"fmt","","",3,null],[11,"description","","",3,null],[11,"cause","","",3,null],[11,"new","","",10,{"inputs":[],"output":{"name":"result"}}],[11,"register","","",10,null],[11,"reregister","","",10,null],[11,"deregister","","",10,null],[11,"poll","","",10,null],[11,"event","","",10,null],[11,"events","","",10,null],[11,"fmt","","",10,null],[11,"next","","",11,null],[11,"new","","",12,{"inputs":[],"output":{"name":"result"}}],[11,"select","","",12,null],[11,"clone","","",13,null],[11,"fmt","","",14,null],[11,"hash","","",1,null],[11,"cmp","","",1,null],[11,"partial_cmp","","",1,null],[11,"lt","","",1,null],[11,"le","","",1,null],[11,"gt","","",1,null],[11,"ge","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"as_usize","","",1,null],[11,"from_usize","","",1,{"inputs":[{"name":"usize"}],"output":{"name":"token"}}],[11,"as_usize","","",1,null],[0,"tcp","","",null,null],[4,"Shutdown","mio::tcp","Possible values which can be passed to the `shutdown` method of `TcpStream`.",null,null],[13,"Read","","Indicates that the reading portion of this stream/socket should be shut\ndown. All currently blocked and future reads will return `Ok(0)`.",15,null],[13,"Write","","Indicates that the writing portion of this stream/socket should be shut\ndown. All currently blocked and future writes will return an error.",15,null],[13,"Both","","Shut down both the reading and writing portions of this stream.",15,null],[3,"TcpStream","","",null,null],[3,"TcpListener","","",null,null],[11,"fmt","","",16,null],[11,"connect","","Create a new TCP stream an issue a non-blocking connect to the specified\naddress.",16,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"connect_stream","","Creates a new `TcpStream` from the pending socket inside the given\n`std::net::TcpBuilder`, connecting it to the address specified.",16,{"inputs":[{"name":"tcpstream"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"peer_addr","","",16,null],[11,"local_addr","","",16,null],[11,"try_clone","","",16,null],[11,"shutdown","","",16,null],[11,"set_nodelay","","",16,null],[11,"set_keepalive","","",16,null],[11,"take_socket_error","","",16,null],[11,"read","","",16,null],[11,"write","","",16,null],[11,"flush","","",16,null],[11,"register","","",16,null],[11,"reregister","","",16,null],[11,"deregister","","",16,null],[11,"fmt","","",17,null],[11,"bind","","Convenience method to bind a new TCP listener to the specified address\nto receive new connections.",17,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"from_listener","","Creates a new `TcpListener` from an instance of a\n`std::net::TcpListener` type.",17,{"inputs":[{"name":"tcplistener"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"accept","","Accepts a new `TcpStream`.",17,null],[11,"local_addr","","",17,null],[11,"try_clone","","",17,null],[11,"take_socket_error","","",17,null],[11,"register","","",17,null],[11,"reregister","","",17,null],[11,"deregister","","",17,null],[11,"accept","","",17,null],[0,"udp","mio","",null,null],[3,"UdpSocket","mio::udp","",null,null],[11,"fmt","","",18,null],[11,"v4","","Returns a new, unbound, non-blocking, IPv4 UDP socket",18,{"inputs":[],"output":{"name":"result"}}],[11,"v6","","Returns a new, unbound, non-blocking, IPv6 UDP socket",18,{"inputs":[],"output":{"name":"result"}}],[11,"bound","","",18,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"bind","","",18,null],[11,"local_addr","","",18,null],[11,"try_clone","","",18,null],[11,"send_to","","",18,null],[11,"recv_from","","",18,null],[11,"set_broadcast","","",18,null],[11,"set_multicast_loop","","",18,null],[11,"join_multicast","","",18,null],[11,"leave_multicast","","",18,null],[11,"set_multicast_time_to_live","","",18,null],[11,"register","","",18,null],[11,"reregister","","",18,null],[11,"deregister","","",18,null],[11,"from","","",18,{"inputs":[{"name":"udpsocket"}],"output":{"name":"udpsocket"}}],[0,"prelude","mio","",null,null],[3,"EventLoop","mio::prelude","Single threaded IO event loop.",null,null],[8,"TryRead","","",null,null],[11,"try_read_buf","","",19,null],[10,"try_read","","",19,null],[8,"TryWrite","","",null,null],[11,"try_write_buf","","",20,null],[10,"try_write","","",20,null],[6,"TimerResult","mio","",null,null],[8,"Handler","","",null,null],[16,"Timeout","","",21,null],[16,"Message","","",21,null],[11,"ready","","Invoked when the socket represented by `token` is ready to be operated\non. `events` indicates the specific operations that are\nready to be performed.",21,null],[11,"notify","","Invoked when a message has been received via the event loop's channel.",21,null],[11,"timeout","","Invoked when a timeout has completed.",21,null],[11,"interrupted","","Invoked when `EventLoop` has been interrupted by a signal interrupt.",21,null],[11,"tick","","Invoked at the end of an event loop tick.",21,null],[8,"TryRead","","",null,null],[11,"try_read_buf","mio::prelude","",19,null],[10,"try_read","mio","",19,null],[8,"TryWrite","","",null,null],[11,"try_write_buf","mio::prelude","",20,null],[10,"try_write","mio","",20,null],[8,"Evented","","A value that may be registered with an `EventLoop`",null,null],[8,"TryAccept","","",null,null],[16,"Output","","",22,null],[10,"accept","","",22,null],[11,"new","","Creates a new IPv4 address from four eight-bit octets.",23,{"inputs":[{"name":"u8"},{"name":"u8"},{"name":"u8"},{"name":"u8"}],"output":{"name":"ipv4addr"}}],[11,"octets","","Returns the four eight-bit integers that make up this address.",23,null],[11,"is_unspecified","","Returns true for the special 'unspecified' address (0.0.0.0).",23,null],[11,"is_loopback","","Returns true if this is a loopback address (127.0.0.0/8).",23,null],[11,"is_private","","Returns true if this is a private address.",23,null],[11,"is_link_local","","Returns true if the address is link-local (169.254.0.0/16).",23,null],[11,"is_global","","Returns true if the address appears to be globally routable.\nSee [iana-ipv4-special-registry][ipv4-sr].\n[ipv4-sr]: http://goo.gl/RaZ7lg",23,null],[11,"is_multicast","","Returns true if this is a multicast address (224.0.0.0/4).",23,null],[11,"is_broadcast","","Returns true if this is a broadcast address (255.255.255.255).",23,null],[11,"is_documentation","","Returns true if this address is in a range designated for documentation.",23,null],[11,"to_ipv6_compatible","","Converts this address to an IPv4-compatible IPv6 address.",23,null],[11,"to_ipv6_mapped","","Converts this address to an IPv4-mapped IPv6 address.",23,null],[11,"fmt","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"eq","","",23,null],[11,"hash","","",23,null],[11,"partial_cmp","","",23,null],[11,"cmp","","",23,null],[11,"from","","",23,{"inputs":[{"name":"u32"}],"output":{"name":"ipv4addr"}}],[11,"from","","",23,null],[11,"new","","Creates a new IPv6 address from eight 16-bit segments.",24,{"inputs":[{"name":"u16"},{"name":"u16"},{"name":"u16"},{"name":"u16"},{"name":"u16"},{"name":"u16"},{"name":"u16"},{"name":"u16"}],"output":{"name":"ipv6addr"}}],[11,"segments","","Returns the eight 16-bit segments that make up this address.",24,null],[11,"is_unspecified","","Returns true for the special 'unspecified' address (::).",24,null],[11,"is_loopback","","Returns true if this is a loopback address (::1).",24,null],[11,"is_global","","Returns true if the address appears to be globally routable.",24,null],[11,"is_unique_local","","Returns true if this is a unique local address (fc00::/7).",24,null],[11,"is_unicast_link_local","","Returns true if the address is unicast and link-local (fe80::/10).",24,null],[11,"is_unicast_site_local","","Returns true if this is a deprecated unicast site-local address\n(fec0::/10).",24,null],[11,"is_documentation","","Returns true if this is an address reserved for documentation\n(2001:db8::/32).",24,null],[11,"is_unicast_global","","Returns true if the address is a globally routable unicast address.",24,null],[11,"multicast_scope","","Returns the address's multicast scope if the address is multicast.",24,null],[11,"is_multicast","","Returns true if this is a multicast address (ff00::/8).",24,null],[11,"to_ipv4","","Converts this address to an IPv4 address. Returns None if this address is\nneither IPv4-compatible or IPv4-mapped.",24,null],[11,"octets","","Returns the sixteen eight-bit integers the IPv6 address consists of.",24,null],[11,"fmt","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",24,null],[11,"eq","","",24,null],[11,"hash","","",24,null],[11,"partial_cmp","","",24,null],[11,"cmp","","",24,null],[11,"from","","",24,null],[11,"from_str","","",23,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"from_str","","",24,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","mio::tcp","",15,null],[11,"eq","","",15,null],[11,"clone","","",15,null],[11,"ready","mio","Invoked when the socket represented by `token` is ready to be operated\non. `events` indicates the specific operations that are\nready to be performed.",21,null],[11,"notify","","Invoked when a message has been received via the event loop's channel.",21,null],[11,"timeout","","Invoked when a timeout has completed.",21,null],[11,"interrupted","","Invoked when `EventLoop` has been interrupted by a signal interrupt.",21,null],[11,"tick","","Invoked at the end of an event loop tick.",21,null],[11,"try_read_buf","mio::prelude","",19,null],[11,"try_write_buf","","",20,null],[11,"fmt","mio::tcp","",16,null],[11,"connect","","Create a new TCP stream an issue a non-blocking connect to the specified\naddress.",16,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"connect_stream","","Creates a new `TcpStream` from the pending socket inside the given\n`std::net::TcpBuilder`, connecting it to the address specified.",16,{"inputs":[{"name":"tcpstream"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"peer_addr","","",16,null],[11,"local_addr","","",16,null],[11,"try_clone","","",16,null],[11,"shutdown","","",16,null],[11,"set_nodelay","","",16,null],[11,"set_keepalive","","",16,null],[11,"take_socket_error","","",16,null],[11,"read","","",16,null],[11,"write","","",16,null],[11,"flush","","",16,null],[11,"register","","",16,null],[11,"reregister","","",16,null],[11,"deregister","","",16,null],[11,"fmt","","",17,null],[11,"bind","","Convenience method to bind a new TCP listener to the specified address\nto receive new connections.",17,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"from_listener","","Creates a new `TcpListener` from an instance of a\n`std::net::TcpListener` type.",17,{"inputs":[{"name":"tcplistener"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"accept","","Accepts a new `TcpStream`.",17,null],[11,"local_addr","","",17,null],[11,"try_clone","","",17,null],[11,"take_socket_error","","",17,null],[11,"register","","",17,null],[11,"reregister","","",17,null],[11,"deregister","","",17,null],[11,"accept","","",17,null],[11,"fmt","mio::udp","",18,null],[11,"v4","","Returns a new, unbound, non-blocking, IPv4 UDP socket",18,{"inputs":[],"output":{"name":"result"}}],[11,"v6","","Returns a new, unbound, non-blocking, IPv6 UDP socket",18,{"inputs":[],"output":{"name":"result"}}],[11,"bound","","",18,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"bind","","",18,null],[11,"local_addr","","",18,null],[11,"try_clone","","",18,null],[11,"send_to","","",18,null],[11,"recv_from","","",18,null],[11,"set_broadcast","","",18,null],[11,"set_multicast_loop","","",18,null],[11,"join_multicast","","",18,null],[11,"leave_multicast","","",18,null],[11,"set_multicast_time_to_live","","",18,null],[11,"register","","",18,null],[11,"reregister","","",18,null],[11,"deregister","","",18,null],[11,"from","","",18,{"inputs":[{"name":"udpsocket"}],"output":{"name":"udpsocket"}}]],"paths":[[3,"IoEvent"],[3,"Token"],[4,"IpAddr"],[4,"NotifyError"],[3,"BoundedQueue"],[3,"PollOpt"],[3,"EventSet"],[3,"EventLoopConfig"],[3,"EventLoop"],[3,"Sender"],[3,"Poll"],[3,"Events"],[3,"Selector"],[3,"Timeout"],[3,"TimerError"],[4,"Shutdown"],[3,"TcpStream"],[3,"TcpListener"],[3,"UdpSocket"],[8,"TryRead"],[8,"TryWrite"],[8,"Handler"],[8,"TryAccept"],[3,"Ipv4Addr"],[3,"Ipv6Addr"]]}; initSearch(searchIndex);