var searchIndex = {}; searchIndex["mioco"] = {"doc":"# Mioco","items":[[3,"Config","mioco","Mioco instance builder.",null,null],[3,"Event","","Event delivered to the coroutine",null,null],[3,"EventSourceId","","Id of an event source used to enumerate them.",null,null],[3,"Handler","","Mioco event loop `Handler`",null,null],[3,"JoinHandle","","Allows to join on mioco Coroutine",null,null],[3,"MioAdapter","","Adapt raw `mio` type to mioco `Evented` requirements.",null,null],[3,"Mioco","","Mioco instance.",null,null],[3,"RW","","Read/Write/Both/None",null,null],[5,"get_userdata","","Get user-provided data of the current coroutine.",null,{"inputs":[],"output":{"name":"option"}}],[5,"set_userdata","","Set user-provided data for the current coroutine.",null,{"inputs":[{"name":"t"}],"output":null}],[5,"set_children_userdata","","Set user-provided data for future child coroutines.",null,{"inputs":[{"name":"option"}],"output":null}],[5,"in_coroutine","","Check if running inside a mioco coroutine.",null,{"inputs":[],"output":{"name":"bool"}}],[5,"select_wait","","Block the current coroutine waiting for an event.",null,{"inputs":[],"output":{"name":"event"}}],[5,"sleep","","Block execution for a given time.",null,{"inputs":[{"name":"duration"}],"output":null}],[5,"sleep_ms","","Block execution for a given time.",null,{"inputs":[{"name":"u64"}],"output":null}],[5,"spawn","","Spawn a mioco coroutine that executes the given function.",null,{"inputs":[{"name":"f"}],"output":{"name":"joinhandle"}}],[5,"start","","Start a new mioco instance.",null,{"inputs":[{"name":"f"}],"output":{"name":"result"}}],[5,"shutdown","","Shutdown current mioco instance.",null,{"inputs":[],"output":null}],[5,"offload","","Execute a block of blocking operations outside of mioco.",null,{"inputs":[{"name":"f"}],"output":{"name":"r"}}],[5,"start_threads","","Start a new mioco instance with a given number of threads.",null,{"inputs":[{"name":"usize"},{"name":"f"}],"output":{"name":"result"}}],[5,"thread_num","","Get number of threads of current mioco instance.",null,{"inputs":[],"output":{"name":"usize"}}],[5,"yield_now","","Yield execution of the current coroutine.",null,{"inputs":[],"output":null}],[11,"new","","Create `MioAdapter` from raw mio type.",0,{"inputs":[{"name":"mt"}],"output":{"name":"self"}}],[11,"try_read","","Try reading data into a buffer.",0,null],[11,"read","","Block on read.",0,null],[11,"try_write","","Try writing a data from the buffer.",0,null],[11,"write","","Block on write.",0,null],[11,"flush","","",0,null],[11,"try_accept","","Attempt to accept a pending connection.",0,null],[11,"accept","","Block on accepting a connection.",0,null],[11,"from_raw_fd","","",0,{"inputs":[{"name":"rawfd"}],"output":{"name":"self"}}],[11,"as_raw_fd","","",0,null],[11,"new","","Create a Handler.",1,{"inputs":[{"name":"rchandlershared"},{"name":"box"}],"output":{"name":"self"}}],[11,"shared","","Data shared between Handler and Coroutines belonging to it",1,null],[11,"tick","","",1,null],[11,"ready","","",1,null],[11,"notify","","",1,null],[11,"timeout","","",1,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"read","","Read.",2,{"inputs":[],"output":{"name":"self"}}],[11,"write","","Write",2,{"inputs":[],"output":{"name":"self"}}],[11,"both","","Read + Write",2,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"id","","Index of the EventedShared handle",3,null],[11,"has_read","","Was the event a read",3,null],[11,"has_write","","Was the event a write",3,null],[11,"hash","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"as_usize","","",4,null],[11,"from_usize","","",4,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[11,"new","","Create new `Mioco` instance.",5,{"inputs":[],"output":{"name":"self"}}],[11,"new_configured","","Create new `Mioco` instance with custom configuration.",5,{"inputs":[{"name":"config"}],"output":{"name":"self"}}],[11,"start","","Start mioco instance.",5,null],[11,"default","","",5,{"inputs":[],"output":{"name":"self"}}],[11,"new","","Create mioco `Config`.",6,{"inputs":[],"output":{"name":"self"}}],[11,"set_thread_num","","Set numer of threads to run mioco with",6,null],[11,"set_scheduler","","Set custom scheduler.",6,null],[11,"set_stack_size","","Set stack size in bytes.",6,null],[11,"set_userdata","","Set user-provided data for the first coroutine",6,null],[11,"event_loop","","Configure `mio::EvenLoop` for all the threads",6,null],[11,"set_catch_panics","","Set if this instance will be catching panics, that occur within the coroutines",6,null],[11,"set_stack_protection","","Set if this instance should use protected stacks (default).",6,null],[11,"default","","",6,{"inputs":[],"output":{"name":"self"}}],[11,"join","","Block waiting for coroutine completion",7,null],[0,"mio","","Some mio types that are part of mioco-API, re-exported",null,null],[3,"EventLoop","mioco::mio","Single threaded IO event loop.",null,null],[8,"Handler","","",null,null],[16,"Timeout","","",8,null],[16,"Message","","",8,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.",8,null],[11,"notify","","Invoked when a message has been received via the event loop's channel.",8,null],[11,"timeout","","Invoked when a timeout has completed.",8,null],[11,"interrupted","","Invoked when `EventLoop` has been interrupted by a signal interrupt.",8,null],[11,"tick","","Invoked at the end of an event loop tick.",8,null],[3,"Ipv4Addr","","Representation of an IPv4 address.",null,null],[0,"sched","mioco","Custom scheduling",null,null],[3,"Coroutine","mioco::sched","Coroutine scheduling handle.",null,null],[8,"Scheduler","","Coroutine Scheduler",null,null],[10,"spawn_thread","","Spawn per-thread Scheduler",9,null],[8,"SchedulerThread","","Scheduler thread",null,null],[10,"spawned","","New coroutine was spawned.",10,null],[10,"ready","","A Coroutine became ready.",10,null],[11,"tick","","Mio's tick have completed.",10,null],[11,"timeout","","Set the maximum time till the next tick.",10,null],[0,"unix","mioco","Unix sockets IO",null,null],[5,"pipe","mioco::unix","Create a pair of unix pipe (reader and writer)",null,{"inputs":[],"output":{"name":"result"}}],[6,"PipeReader","","Unix pipe reader",null,null],[6,"PipeWriter","","Unix pipe writer",null,null],[6,"UnixListener","","Unix listener",null,null],[6,"UnixSocket","","Unix socket",null,null],[6,"UnixStream","","Unix stream",null,null],[11,"bind","","Bind to a port",11,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"try_clone","","Try cloning the socket descriptor.",11,null],[11,"stream","","Returns a new, unbound, Unix domain socket",12,{"inputs":[],"output":{"name":"result"}}],[11,"connect","","Connect the socket to the specified address",12,null],[11,"bind","","Bind the socket to the specified address",12,null],[11,"try_clone","","Clone",12,null],[11,"connect","","Connect UnixStream to `path`",13,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"try_clone","","Clone",13,null],[11,"try_read_recv_fd","","Try reading data into a buffer.",13,null],[11,"read_recv_fd","","Block on read.",13,null],[11,"try_write_send_fd","","Try writing a data from the buffer.",13,null],[11,"write_send_fd","","Block on write",13,null],[0,"timer","mioco","Timers",null,null],[3,"Timer","mioco::timer","A Timer generating event after a given time",null,null],[11,"new","","Create a new timer",14,{"inputs":[],"output":{"name":"timer"}}],[11,"default","","",14,{"inputs":[],"output":{"name":"self"}}],[11,"read","","Read a timer to block on it until it is done.",14,null],[11,"try_read","","Try reading current time (if the timer is done)",14,null],[11,"set_timeout","","Set timeout for the timer",14,null],[11,"set_timeout_absolute","","Set timeout for the timer using absolute time.",14,null],[11,"get_timeout_absolute","","Get absolute value of the timer timeout.",14,null],[0,"tcp","mioco","TCP",null,null],[4,"Shutdown","mioco::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],[6,"TcpListener","","TCP Listener",null,null],[6,"TcpStream","","TCP Stream",null,null],[11,"local_addr","","Local address",16,null],[11,"take_socket_error","","TODO: document",16,null],[11,"try_clone","","Try cloning the listener descriptor.",16,null],[11,"bind","","Bind to a port",16,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"from_listener","","Creates a new TcpListener from an instance of a `std::net::TcpListener` type.",16,{"inputs":[{"name":"tcplistener"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"connect","","Create a new TCP stream an issue a non-blocking connect to the specified address.",17,{"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.",17,{"inputs":[{"name":"tcpstream"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"local_addr","","Local address of connection.",17,null],[11,"peer_addr","","Peer address of connection.",17,null],[11,"shutdown","","Shutdown the connection.",17,null],[11,"set_nodelay","","Set `no_delay`.",17,null],[11,"set_keepalive","","Set keepalive.",17,null],[11,"take_socket_error","","TODO: document",17,null],[11,"try_clone","","Try cloning the socket descriptor.",17,null],[0,"udp","mioco","UDP",null,null],[4,"IpAddr","mioco::udp","An IP address, either a IPv4 or IPv6 address.",null,null],[13,"V4","","",18,null],[13,"V6","","",18,null],[6,"UdpSocket","","Udp Socket",null,null],[11,"v4","","Return a new unbound IPv4 UDP Socket.",19,{"inputs":[],"output":{"name":"result"}}],[11,"v6","","Return a new unbound IPv6 UDP Socket.",19,{"inputs":[],"output":{"name":"result"}}],[11,"bound","","Return a new bound UDP Socket.",19,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"bind","","Bind the unbound UDP Socket.",19,null],[11,"local_addr","","Local address of the Socket.",19,null],[11,"try_clone","","Try cloning the socket.",19,null],[11,"recv","","Block on recv.",19,null],[11,"try_recv","","Try reading data into a buffer.",19,null],[11,"send","","Block on send.",19,null],[11,"try_send","","Try writing a data from the buffer.",19,null],[11,"set_broadcast","","Set broadcast flag.",19,null],[11,"set_multicast_loop","","Set multicast loop flag.",19,null],[11,"join_multicast","","Join multicast.",19,null],[11,"leave_multicast","","Leave multicast.",19,null],[11,"set_multicast_time_to_live","","Set multicast TTL.",19,null],[0,"sync","mioco","Useful synchronization primitives",null,null],[3,"RwLock","mioco::sync","A reader-writer lock",null,null],[3,"Mutex","","A Mutex",null,null],[11,"tick","mioco::sched","Mio's tick have completed.",10,null],[11,"timeout","","Set the maximum time till the next tick.",10,null],[0,"mpsc","mioco::sync","MPSC channel modeled after `std::sync::mpsc`.",null,null],[3,"Receiver","mioco::sync::mpsc","Channel receiving end",null,null],[3,"Sender","","Channel sending end",null,null],[3,"SyncSender","","Channel sending end",null,null],[5,"channel","","Create a channel",null,null],[5,"sync_channel","","Create a channel",null,null],[11,"recv","","Receive `T` sent using corresponding `Sender::send()`.",20,null],[11,"try_recv","","Try reading data from the queue.",20,null],[11,"clone","","",21,null],[11,"clone","","",22,null],[11,"send","","Deliver `T` to the other end of the channel.",22,null],[11,"send","","Deliver `T` to the other end of the channel.",21,null],[11,"fmt","mioco::sync","",23,null],[11,"new","","Creates a new instance of an RwLock<T> which is unlocked.",23,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"native_lock","","Get a reference to raw `std::sync::RwLock`.",23,null],[11,"read","","Locks this rwlock with shared read access, blocking the current\ncoroutine until it can be acquired.",23,null],[11,"try_read","","Attempts to acquire this rwlock with shared read access.",23,null],[11,"write","","Locks this rwlock with exclusive write access, blocking the current\ncoroutine until it can be acquired.",23,null],[11,"try_write","","Attempts to lock this rwlock with exclusive write access.",23,null],[11,"is_poisoned","","Determines whether the lock is poisoned.",23,null],[11,"fmt","","",24,null],[11,"new","","Creates a new instance of an Mutex<T> which is unlocked.",24,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"native_lock","","Get a reference to raw `std::sync::Mutex`.",24,null],[11,"lock","","Acquire a mutex, blocking the current coroutine until it is able to do so.",24,null],[11,"try_lock","","Attempt to acquire this lock.",24,null],[8,"Evented","mioco","Mioco event source.",null,null],[14,"select!","","Select operation on multiple IO.",null,null],[11,"new","mioco::mio","Creates a new IPv4 address from four eight-bit octets.",25,{"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.",25,null],[11,"is_unspecified","","Returns true for the special 'unspecified' address (0.0.0.0).",25,null],[11,"is_loopback","","Returns true if this is a loopback address (127.0.0.0/8).",25,null],[11,"is_private","","Returns true if this is a private address.",25,null],[11,"is_link_local","","Returns true if the address is link-local (169.254.0.0/16).",25,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",25,null],[11,"is_multicast","","Returns true if this is a multicast address (224.0.0.0/4).",25,null],[11,"is_broadcast","","Returns true if this is a broadcast address (255.255.255.255).",25,null],[11,"is_documentation","","Returns true if this address is in a range designated for documentation.",25,null],[11,"to_ipv6_compatible","","Converts this address to an IPv4-compatible IPv6 address.",25,null],[11,"to_ipv6_mapped","","Converts this address to an IPv4-mapped IPv6 address.",25,null],[11,"fmt","","",25,null],[11,"fmt","","",25,null],[11,"clone","","",25,null],[11,"eq","","",25,null],[11,"hash","","",25,null],[11,"partial_cmp","","",25,null],[11,"cmp","","",25,null],[11,"from","","",25,{"inputs":[{"name":"u32"}],"output":{"name":"ipv4addr"}}],[11,"from","","",25,null],[11,"from_str","","",25,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","mioco::tcp","",15,null],[11,"eq","","",15,null],[11,"clone","","",15,null],[11,"fmt","mioco::mio","",26,null],[11,"new","","Initializes a new event loop using default configuration settings. The\nevent loop will not be running yet.",26,{"inputs":[],"output":{"name":"result"}}],[11,"configured","","",26,{"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.",26,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.",26,null],[11,"clear_timeout","","If the supplied timeout has not been triggered, cancel it such that it\nwill not be triggered in the future.",26,null],[11,"shutdown","","Tells the event loop to exit after it is done handling all events in the\ncurrent iteration.",26,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.",26,null],[11,"register","","Registers an IO handle with the event loop.",26,null],[11,"reregister","","Re-Registers an IO handle with the event loop.",26,null],[11,"run","","Keep spinning the event loop indefinitely, and notify the handler whenever\nany of the registered handles are ready.",26,null],[11,"deregister","","Deregisters an IO handle with the event loop.",26,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.",26,null],[11,"drop","","",26,null],[11,"from_str","mioco::udp","",18,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"tick","mioco::sched","Mio's tick have completed.",10,null],[11,"timeout","","Set the maximum time till the next tick.",10,null],[11,"recv","mioco::sync::mpsc","Receive `T` sent using corresponding `Sender::send()`.",20,null],[11,"try_recv","","Try reading data from the queue.",20,null],[11,"clone","","",21,null],[11,"clone","","",22,null],[11,"send","","Deliver `T` to the other end of the channel.",22,null],[11,"send","","Deliver `T` to the other end of the channel.",21,null],[11,"fmt","mioco::sync","",23,null],[11,"new","","Creates a new instance of an RwLock<T> which is unlocked.",23,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"native_lock","","Get a reference to raw `std::sync::RwLock`.",23,null],[11,"read","","Locks this rwlock with shared read access, blocking the current\ncoroutine until it can be acquired.",23,null],[11,"try_read","","Attempts to acquire this rwlock with shared read access.",23,null],[11,"write","","Locks this rwlock with exclusive write access, blocking the current\ncoroutine until it can be acquired.",23,null],[11,"try_write","","Attempts to lock this rwlock with exclusive write access.",23,null],[11,"is_poisoned","","Determines whether the lock is poisoned.",23,null],[11,"fmt","","",24,null],[11,"new","","Creates a new instance of an Mutex<T> which is unlocked.",24,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"native_lock","","Get a reference to raw `std::sync::Mutex`.",24,null],[11,"lock","","Acquire a mutex, blocking the current coroutine until it is able to do so.",24,null],[11,"try_lock","","Attempt to acquire this lock.",24,null],[11,"new","mioco::timer","Create a new timer",14,{"inputs":[],"output":{"name":"timer"}}],[11,"default","","",14,{"inputs":[],"output":{"name":"self"}}],[11,"read","","Read a timer to block on it until it is done.",14,null],[11,"try_read","","Try reading current time (if the timer is done)",14,null],[11,"set_timeout","","Set timeout for the timer",14,null],[11,"set_timeout_absolute","","Set timeout for the timer using absolute time.",14,null],[11,"get_timeout_absolute","","Get absolute value of the timer timeout.",14,null],[11,"bind","mioco::unix","Bind to a port",11,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"try_clone","","Try cloning the socket descriptor.",11,null],[11,"stream","","Returns a new, unbound, Unix domain socket",12,{"inputs":[],"output":{"name":"result"}}],[11,"connect","","Connect the socket to the specified address",12,null],[11,"bind","","Bind the socket to the specified address",12,null],[11,"try_clone","","Clone",12,null],[11,"connect","","Connect UnixStream to `path`",13,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"try_clone","","Clone",13,null],[11,"try_read_recv_fd","","Try reading data into a buffer.",13,null],[11,"read_recv_fd","","Block on read.",13,null],[11,"try_write_send_fd","","Try writing a data from the buffer.",13,null],[11,"write_send_fd","","Block on write",13,null],[11,"local_addr","mioco::tcp","Local address",16,null],[11,"take_socket_error","","TODO: document",16,null],[11,"try_clone","","Try cloning the listener descriptor.",16,null],[11,"bind","","Bind to a port",16,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"from_listener","","Creates a new TcpListener from an instance of a `std::net::TcpListener` type.",16,{"inputs":[{"name":"tcplistener"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"connect","","Create a new TCP stream an issue a non-blocking connect to the specified address.",17,{"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.",17,{"inputs":[{"name":"tcpstream"},{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"local_addr","","Local address of connection.",17,null],[11,"peer_addr","","Peer address of connection.",17,null],[11,"shutdown","","Shutdown the connection.",17,null],[11,"set_nodelay","","Set `no_delay`.",17,null],[11,"set_keepalive","","Set keepalive.",17,null],[11,"take_socket_error","","TODO: document",17,null],[11,"try_clone","","Try cloning the socket descriptor.",17,null],[11,"v4","mioco::udp","Return a new unbound IPv4 UDP Socket.",19,{"inputs":[],"output":{"name":"result"}}],[11,"v6","","Return a new unbound IPv6 UDP Socket.",19,{"inputs":[],"output":{"name":"result"}}],[11,"bound","","Return a new bound UDP Socket.",19,{"inputs":[{"name":"socketaddr"}],"output":{"name":"result"}}],[11,"bind","","Bind the unbound UDP Socket.",19,null],[11,"local_addr","","Local address of the Socket.",19,null],[11,"try_clone","","Try cloning the socket.",19,null],[11,"recv","","Block on recv.",19,null],[11,"try_recv","","Try reading data into a buffer.",19,null],[11,"send","","Block on send.",19,null],[11,"try_send","","Try writing a data from the buffer.",19,null],[11,"set_broadcast","","Set broadcast flag.",19,null],[11,"set_multicast_loop","","Set multicast loop flag.",19,null],[11,"join_multicast","","Join multicast.",19,null],[11,"leave_multicast","","Leave multicast.",19,null],[11,"set_multicast_time_to_live","","Set multicast TTL.",19,null],[11,"kill","mioco::sched","Finish coroutine",27,null],[11,"tick","","Mio's tick have completed.",10,null],[11,"timeout","","Set the maximum time till the next tick.",10,null],[11,"drop","","",27,null],[11,"resume","","Resume Coroutine.",27,null],[11,"migrate","","Migrate to a different thread.",27,null],[11,"reattach_to","","Finish migrating Coroutine by attaching it to a new thread.",27,null],[11,"is_yielding","","Is this Coroutine ready after `yield_now()`?",27,null],[11,"get_userdata","","Get coroutine user-provided data.",27,null]],"paths":[[3,"MioAdapter"],[3,"Handler"],[3,"RW"],[3,"Event"],[3,"EventSourceId"],[3,"Mioco"],[3,"Config"],[3,"JoinHandle"],[8,"Handler"],[8,"Scheduler"],[8,"SchedulerThread"],[6,"UnixListener"],[6,"UnixSocket"],[6,"UnixStream"],[3,"Timer"],[4,"Shutdown"],[6,"TcpListener"],[6,"TcpStream"],[4,"IpAddr"],[6,"UdpSocket"],[3,"Receiver"],[3,"Sender"],[3,"SyncSender"],[3,"RwLock"],[3,"Mutex"],[3,"Ipv4Addr"],[3,"EventLoop"],[3,"Coroutine"]]}; initSearch(searchIndex);