var searchIndex = {}; searchIndex["irc"] = {"doc":"A simple, thread-safe IRC library.","items":[[0,"client","irc","A simple, thread-safe IRC client library.",null,null],[0,"conn","irc::client","Thread-safe connections on IrcStreams.",null,null],[3,"NetConnection","irc::client::conn","A thread-safe connection over a buffered NetStream.",null,null],[3,"MockConnection","","A mock connection for testing purposes.",null,null],[4,"NetStream","","An abstraction over different networked streams.",null,null],[13,"UnsecuredTcpStream","","An unsecured TcpStream.",0,null],[13,"SslTcpStream","","An SSL-secured TcpStream.\nThis is only available when compiled with SSL support.",0,null],[8,"Connection","","A connection.",null,null],[10,"send","","Sends a message over this connection.",1,null],[10,"recv","","Receives a single line from this connection.",1,null],[10,"written","","Gets the full record of all sent messages if the Connection records this.\nThis is intended for use in writing tests.",1,null],[10,"reconnect","","Re-establishes this connection, disconnecting from the existing case if necessary.",1,null],[11,"connect","","Creates a thread-safe TCP connection to the specified server.",2,{"inputs":[{"name":"str"},{"name":"u16"}],"output":{"name":"result"}}],[11,"connect_ssl","","Creates a thread-safe TCP connection to the specified server over SSL.\nIf the library is compiled without SSL support, this method panics.",2,{"inputs":[{"name":"str"},{"name":"u16"}],"output":{"name":"result"}}],[11,"send","","",2,null],[11,"recv","","",2,null],[11,"written","","",2,null],[11,"reconnect","","",2,null],[11,"empty","","Creates a new mock connection with an empty read buffer.",3,{"inputs":[],"output":{"name":"mockconnection"}}],[11,"new","","Creates a new mock connection with the specified string in the read buffer.",3,{"inputs":[{"name":"str"}],"output":{"name":"mockconnection"}}],[11,"from_byte_vec","","Creates a new mock connection with the specified bytes in the read buffer.",3,{"inputs":[{"name":"vec"}],"output":{"name":"mockconnection"}}],[11,"send","","",3,null],[11,"recv","","",3,null],[11,"written","","",3,null],[11,"reconnect","","",3,null],[11,"read","","",0,null],[11,"write","","",0,null],[11,"flush","","",0,null],[0,"data","irc::client","Data related to IRC functionality.",null,null],[0,"kinds","irc::client::data","Trait definitions of appropriate Writers and Buffers for use with this library.",null,null],[8,"IrcWrite","irc::client::data::kinds","Trait describing all possible Writers for this library.",null,null],[8,"IrcRead","","Trait describing all possible Readers for this library.",null,null],[0,"caps","irc::client::data","Enumeration of all supported IRCv3 capability extensions.",null,null],[4,"Capability","irc::client::data::caps","List of all supported IRCv3 capability extensions from the\n[IRCv3 specifications](http://ircv3.net/irc/).",null,null],[13,"MultiPrefix","","[multi-prefix](http://ircv3.net/specs/extensions/multi-prefix-3.1.html)",4,null],[13,"Sasl","","[sasl](http://ircv3.net/specs/extensions/sasl-3.1.html)",4,null],[13,"AccountNotify","","[account-notify](http://ircv3.net/specs/extensions/account-notify-3.1.html)",4,null],[13,"AwayNotify","","[away-notify](http://ircv3.net/specs/extensions/away-notify-3.1.html)",4,null],[13,"ExtendedJoin","","[extended-join](http://ircv3.net/specs/extensions/extended-join-3.1.html)",4,null],[13,"Metadata","","[metadata](http://ircv3.net/specs/core/metadata-3.2.html)",4,null],[13,"MetadataNotify","","[metadata-notify](http://ircv3.net/specs/core/metadata-3.2.html)",4,null],[13,"Monitor","","[monitor](http://ircv3.net/specs/core/monitor-3.2.html)",4,null],[13,"AccountTag","","[account-tag](http://ircv3.net/specs/extensions/account-tag-3.2.html)",4,null],[13,"Batch","","[batch](http://ircv3.net/specs/extensions/batch-3.2.html)",4,null],[13,"CapNotify","","[cap-notify](http://ircv3.net/specs/extensions/cap-notify-3.2.html)",4,null],[13,"ChgHost","","[chghost](http://ircv3.net/specs/extensions/chghost-3.2.html)",4,null],[13,"EchoMessage","","[echo-message](http://ircv3.net/specs/extensions/echo-message-3.2.html)",4,null],[13,"InviteNotify","","[invite-notify](http://ircv3.net/specs/extensions/invite-notify-3.2.html)",4,null],[13,"ServerTime","","[server-time](http://ircv3.net/specs/extensions/server-time-3.2.html)",4,null],[13,"UserhostInNames","","[userhost-in-names](http://ircv3.net/specs/extensions/userhost-in-names-3.2.html)",4,null],[13,"Custom","","Custom IRCv3 capability extensions",4,null],[4,"NegotiationVersion","","List of IRCv3 capability negotiation versions.",null,null],[13,"V301","","[IRCv3.1](http://ircv3.net/specs/core/capability-negotiation-3.1.html)",5,null],[13,"V302","","[IRCv3.2](http://ircv3.net/specs/core/capability-negotiation-3.2.html)",5,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"as_ref","","",4,null],[0,"command","irc::client::data","Enumeration of all available client commands.",null,null],[4,"Command","irc::client::data::command","List of all client commands as defined in [RFC 2812](http://tools.ietf.org/html/rfc2812). This\nalso includes commands from the\n[capabilities extension](https://tools.ietf.org/html/draft-mitchell-irc-capabilities-01).\nAdditionally, this includes some common additional commands from popular IRCds.",null,null],[13,"PASS","","PASS :password",6,null],[13,"NICK","","NICK :nickname",6,null],[13,"USER","","USER user mode * :realname",6,null],[13,"OPER","","OPER name :password",6,null],[13,"MODE","","MODE nickname modes\nMODE channel modes [modeparams]",6,null],[13,"SERVICE","","SERVICE nickname reserved distribution type reserved :info",6,null],[13,"QUIT","","QUIT :comment",6,null],[13,"SQUIT","","SQUIT server :comment",6,null],[13,"JOIN","","JOIN chanlist [chankeys]",6,null],[13,"PART","","PART chanlist :[comment]",6,null],[13,"TOPIC","","TOPIC channel :[topic]",6,null],[13,"NAMES","","NAMES [chanlist :[target]]",6,null],[13,"LIST","","LIST [chanlist :[target]]",6,null],[13,"INVITE","","INVITE nickname channel",6,null],[13,"KICK","","KICK chanlist userlist :[comment]",6,null],[13,"PRIVMSG","","PRIVMSG msgtarget :message",6,null],[13,"NOTICE","","NOTICE msgtarget :message",6,null],[13,"MOTD","","MOTD :[target]",6,null],[13,"LUSERS","","LUSERS [mask :[target]]",6,null],[13,"VERSION","","VERSION :[target]",6,null],[13,"STATS","","STATS [query :[target]]",6,null],[13,"LINKS","","LINKS [[remote server] server :mask]",6,null],[13,"TIME","","TIME :[target]",6,null],[13,"CONNECT","","CONNECT target server port :[remote server]",6,null],[13,"TRACE","","TRACE :[target]",6,null],[13,"ADMIN","","ADMIN :[target]",6,null],[13,"INFO","","INFO :[target]",6,null],[13,"SERVLIST","","SERVLIST [mask :[type]]",6,null],[13,"SQUERY","","SQUERY servicename text",6,null],[13,"WHO","","WHO [mask ["o"]]",6,null],[13,"WHOIS","","WHOIS [target] masklist",6,null],[13,"WHOWAS","","WHOWAS nicklist [count :[target]]",6,null],[13,"KILL","","KILL nickname :comment",6,null],[13,"PING","","PING server1 :[server2]",6,null],[13,"PONG","","PONG server :[server2]",6,null],[13,"ERROR","","ERROR :message",6,null],[13,"AWAY","","AWAY :[message]",6,null],[13,"REHASH","","REHASH",6,null],[13,"DIE","","DIE",6,null],[13,"RESTART","","RESTART",6,null],[13,"SUMMON","","SUMMON user [target :[channel]]",6,null],[13,"USERS","","USERS :[target]",6,null],[13,"WALLOPS","","WALLOPS :Text to be sent",6,null],[13,"USERHOST","","USERHOST space-separated nicklist",6,null],[13,"ISON","","ISON space-separated nicklist",6,null],[13,"SAJOIN","","SAJOIN nickname channel",6,null],[13,"SAMODE","","SAMODE target modes [modeparams]",6,null],[13,"SANICK","","SANICK old nickname new nickname",6,null],[13,"SAPART","","SAPART nickname :comment",6,null],[13,"SAQUIT","","SAQUIT nickname :comment",6,null],[13,"NICKSERV","","NICKSERV message",6,null],[13,"CHANSERV","","CHANSERV message",6,null],[13,"OPERSERV","","OPERSERV message",6,null],[13,"BOTSERV","","BOTSERV message",6,null],[13,"HOSTSERV","","HOSTSERV message",6,null],[13,"MEMOSERV","","MEMOSERV message",6,null],[13,"CAP","","CAP [*] COMMAND [*] :[param]",6,null],[13,"AUTHENTICATE","","AUTHENTICATE data",6,null],[13,"ACCOUNT","","ACCOUNT [account name]",6,null],[13,"METADATA","","METADATA target COMMAND [params] :[param]",6,null],[13,"MONITOR","","MONITOR command [nicklist]",6,null],[13,"BATCH","","BATCH (+/-)reference-tag [type [params]]",6,null],[13,"CHGHOST","","CHGHOST user host",6,null],[13,"Response","","An IRC response code with arguments and optional suffix.",6,null],[13,"Raw","","A raw IRC command unknown to the crate.",6,null],[4,"CapSubCommand","","A list of all of the subcommands for the capabilities extension.",null,null],[13,"LS","","Requests a list of the server's capabilities.",7,null],[13,"LIST","","Requests a list of the server's capabilities.",7,null],[13,"REQ","","Requests specific capabilities blindly.",7,null],[13,"ACK","","Acknowledges capabilities.",7,null],[13,"NAK","","Does not acknowledge certain capabilities.",7,null],[13,"END","","Ends the capability negotiation before registration.",7,null],[13,"NEW","","Signals that new capabilities are now being offered.",7,null],[13,"DEL","","Signasl that the specified capabilities are cancelled and no longer available.",7,null],[4,"MetadataSubCommand","","A list of all the subcommands for the\n[metadata extension](http://ircv3.net/specs/core/metadata-3.2.html).",null,null],[13,"GET","","Looks up the value for some keys.",8,null],[13,"LIST","","Lists all of the metadata keys and values.",8,null],[13,"SET","","Sets the value for some key.",8,null],[13,"CLEAR","","Removes all metadata.",8,null],[4,"BatchSubCommand","","[batch extension](http://ircv3.net/specs/extensions/batch-3.2.html).",null,null],[13,"NETSPLIT","","[NETSPLIT](http://ircv3.net/specs/extensions/batch/netsplit.html)",9,null],[13,"NETJOIN","","[NETJOIN](http://ircv3.net/specs/extensions/batch/netsplit.html)",9,null],[13,"CUSTOM","","Vendor-specific BATCH subcommands.",9,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"new","","Constructs a new Command.",6,{"inputs":[{"name":"str"},{"name":"vec"},{"name":"option"}],"output":{"name":"result"}}],[11,"eq","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",7,null],[11,"from_str","","",7,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[11,"eq","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",8,null],[11,"from_str","","",8,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"fmt","","",9,null],[11,"clone","","",9,null],[11,"to_str","","Gets the string that corresponds to this subcommand.",9,null],[11,"from_str","","",9,{"inputs":[{"name":"str"}],"output":{"name":"stdresult"}}],[0,"config","irc::client::data","JSON configuration files using libserialize.",null,null],[3,"Config","irc::client::data::config","Configuration data.",null,null],[12,"owners","","A list of the owners of the client by nickname (for bots).",10,null],[12,"nickname","","The client's nickname.",10,null],[12,"nick_password","","The client's NICKSERV password.",10,null],[12,"alt_nicks","","Alternative nicknames for the client, if the default is taken.",10,null],[12,"username","","The client's username.",10,null],[12,"realname","","The client's real name.",10,null],[12,"server","","The server to connect to.",10,null],[12,"port","","The port to connect on.",10,null],[12,"password","","The password to connect to the server.",10,null],[12,"use_ssl","","Whether or not to use SSL.\nClients will automatically panic if this is enabled without SSL support.",10,null],[12,"encoding","","The encoding type used for this connection.\nThis is typically UTF-8, but could be something else.",10,null],[12,"channels","","A list of channels to join on connection.",10,null],[12,"umodes","","User modes to set on connect. Example: "+RB-x"",10,null],[12,"user_info","","The text that'll be sent in response to CTCP USERINFO requests.",10,null],[12,"ping_time","","The amount of inactivity in seconds before the client will ping the server.",10,null],[12,"ping_timeout","","The amount of time in seconds for a client to reconnect due to no ping response.",10,null],[12,"should_ghost","","Whether the client should use NickServ GHOST to reclaim its primary nickname if it is in use.\nThis has no effect if `nick_password` is not set.",10,null],[12,"ghost_sequence","","The command(s) that should be sent to NickServ to recover a nickname. The nickname and password will be appended in that order after the command.\nE.g. `["RECOVER", "RELEASE"]` means `RECOVER nick pass` and `RELEASE nick pass` will be sent in that order.",10,null],[12,"options","","A map of additional options to be stored in config.",10,null],[11,"fmt","","",10,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"default","","",10,{"inputs":[],"output":{"name":"config"}}],[11,"encode","","",10,null],[11,"decode","","",10,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"clone","","",10,null],[11,"load","","Loads a JSON configuration from the desired path.",10,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"save","","Saves a JSON configuration to the desired path.",10,null],[11,"is_owner","","Determines whether or not the nickname provided is the owner of the bot.",10,null],[11,"nickname","","Gets the nickname specified in the configuration.\nThis will panic if not specified.",10,null],[11,"nick_password","","Gets the bot's nickserv password specified in the configuration.\nThis defaults to an empty string when not specified.",10,null],[11,"alternate_nicknames","","Gets the alternate nicknames specified in the configuration.\nThis defaults to an empty vector when not specified.",10,null],[11,"username","","Gets the username specified in the configuration.\nThis defaults to the user's nickname when not specified.",10,null],[11,"real_name","","Gets the real name specified in the configuration.\nThis defaults to the user's nickname when not specified.",10,null],[11,"server","","Gets the address of the server specified in the configuration.\nThis panics when not specified.",10,null],[11,"port","","Gets the port of the server specified in the configuration.\nThis defaults to 6667 (or 6697 if use_ssl is specified as true) when not specified.",10,null],[11,"password","","Gets the server password specified in the configuration.\nThis defaults to a blank string when not specified.",10,null],[11,"use_ssl","","Gets whether or not to use SSL with this connection.\nThis defaults to false when not specified.",10,null],[11,"encoding","","Gets the encoding to use for this connection. This requires the encode feature to work.\nThis defaults to UTF-8 when not specified.",10,null],[11,"channels","","Gets the channels to join upon connection.\nThis defaults to an empty vector if it's not specified.",10,null],[11,"umodes","","Gets the user modes to set on connect specified in the configuration.\nThis defaults to an empty string when not specified.",10,null],[11,"user_info","","Gets the string to be sent in response to CTCP USERINFO requests.\nThis defaults to an empty string when not specified.",10,null],[11,"ping_time","","Gets the amount of time in seconds since last activity necessary for the client to ping the\nserver.\nThis defaults to 180 seconds when not specified.",10,null],[11,"ping_timeout","","Gets the amount of time in seconds for the client to reconnect after no ping response.\nThis defaults to 10 seconds when not specified.",10,null],[11,"should_ghost","","Gets whether or not to attempt nickname reclamation using NickServ GHOST.\nThis defaults to false when not specified.",10,null],[11,"ghost_sequence","","Gets the NickServ command sequence to recover a nickname.\nThis defaults to `["GHOST"]` when not specified.",10,null],[11,"get_option","","Looks up the specified string in the options map.\nThis uses indexing, and thus panics when the string is not present.\nThis will also panic if used and there are no options.",10,null],[0,"message","irc::client::data","Messages to and from the server.",null,null],[3,"Message","irc::client::data::message","IRC Message data.",null,null],[12,"tags","","Message tags as defined by [IRCv3.2](http://ircv3.net/specs/core/message-tags-3.2.html).",11,null],[12,"prefix","","The message prefix (or source) as defined by [RFC 2812](http://tools.ietf.org/html/rfc2812).",11,null],[12,"command","","The IRC command.",11,null],[3,"Tag","","A message tag as defined by [IRCv3.2](http://ircv3.net/specs/core/message-tags-3.2.html).",null,null],[11,"fmt","","",11,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"clone","","",11,null],[11,"new","","Creates a new Message.",11,{"inputs":[{"name":"option"},{"name":"str"},{"name":"vec"},{"name":"option"}],"output":{"name":"ioresult"}}],[11,"with_tags","","Creates a new Message optionally including IRCv3.2 message tags.",11,{"inputs":[{"name":"option"},{"name":"option"},{"name":"str"},{"name":"vec"},{"name":"option"}],"output":{"name":"ioresult"}}],[11,"source_nickname","","Gets the nickname of the message source, if it exists.",11,null],[11,"into_string","","Converts a Message into a String according to the IRC protocol.",11,null],[11,"from","","",11,{"inputs":[{"name":"command"}],"output":{"name":"message"}}],[11,"from_str","","",11,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"from","","",11,{"inputs":[{"name":"str"}],"output":{"name":"message"}}],[11,"fmt","","",12,null],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"clone","","",12,null],[0,"response","irc::client::data","Enumeration of all the possible server responses.",null,null],[4,"Response","irc::client::data::response","List of all server responses as defined in\n[RFC 2812](http://tools.ietf.org/html/rfc2812).\nAll commands are documented with their expected form from the RFC.",null,null],[13,"RPL_WELCOME","","001 Welcome to the Internet Relay Network <nick>!<user>@<host>",13,null],[13,"RPL_YOURHOST","","002 Your host is <servername>, running version <ver>",13,null],[13,"RPL_CREATED","","003 This server was created <date>",13,null],[13,"RPL_MYINFO","","004 <servername> <version> <available user modes> available channel modes>",13,null],[13,"RPL_BOUNCE","","005 Try server <server name>, port <port number>",13,null],[13,"RPL_USERHOST","","302 :*1<reply> *( " " <reply> )",13,null],[13,"RPL_ISON","","303 :*1<nick> *( " " <nick> )",13,null],[13,"RPL_AWAY","","301 <nick> :<away message>",13,null],[13,"RPL_UNAWAY","","305 :You are no longer marked as being away",13,null],[13,"RPL_NOWAWAY","","306 :You have been marked as being away",13,null],[13,"RPL_WHOISUSER","","311 <nick> <user> <host> * :<real name>",13,null],[13,"RPL_WHOISSERVER","","312 <nick> <server> :<server info>",13,null],[13,"RPL_WHOISOPERATOR","","313 <nick> :is an IRC operator",13,null],[13,"RPL_WHOISIDLE","","317 <nick> <integer> :seconds idle",13,null],[13,"RPL_ENDOFWHOIS","","318 <nick> :End of WHOIS list",13,null],[13,"RPL_WHOISCHANNELS","","319 <nick> :*( ( "@" / "+" ) <channel> " " )",13,null],[13,"RPL_WHOWASUSER","","314 <nick> <user> <host> * :<real name>",13,null],[13,"RPL_ENDOFWHOWAS","","369 <nick> :End of WHOWAS",13,null],[13,"RPL_LISTSTART","","Obsolete. Not used.",13,null],[13,"RPL_LIST","","322 <channel> <# visible> :<topic>",13,null],[13,"RPL_LISTEND","","323 :End of LIST",13,null],[13,"RPL_UNIQOPIS","","325 <channel> <nickname>",13,null],[13,"RPL_CHANNELMODEIS","","324 <channel> <mode> <mode params>",13,null],[13,"RPL_NOTOPIC","","331 <channel> :No topic is set",13,null],[13,"RPL_TOPIC","","332 <channel> :<topic>",13,null],[13,"RPL_INVITING","","341 <channel> <nick>",13,null],[13,"RPL_SUMMONING","","342 <user> :Summoning user to IRC",13,null],[13,"RPL_INVITELIST","","346 <channel> <invitemask>",13,null],[13,"RPL_ENDOFINVITELIST","","347 <channel> :End of channel invite list",13,null],[13,"RPL_EXCEPTLIST","","348 <channel> <exceptionmask>",13,null],[13,"RPL_ENDOFEXCEPTLIST","","349 <channel> :End of channel exception list",13,null],[13,"RPL_VERSION","","351 <version>.<debuglevel> <server> :<comments>",13,null],[13,"RPL_WHOREPLY","","352 <channel> <user> <host> <server> <nick> ( "H" / "G" > ["*"] [ ( "@" / "+" ) ]\n:<hopcount> <real name> *",13,null],[13,"RPL_ENDOFWHO","","315 <name> :End of WHO list",13,null],[13,"RPL_NAMREPLY","","353 ( "=" / "*" / "@" ) <channel> :[ "@" / "+" ] <nick> *( " " [ "@" / "+" ] <nick> )",13,null],[13,"RPL_ENDOFNAMES","","366 <channel> :End of NAMES list",13,null],[13,"RPL_LINKS","","364 <mask> <server> :<hopcount> <server info>",13,null],[13,"RPL_ENDOFLINKS","","365 <mask> :End of LINKS list",13,null],[13,"RPL_BANLIST","","367 <channel> <banmask>",13,null],[13,"RPL_ENDOFBANLIST","","368 <channel> :End of channel ban list",13,null],[13,"RPL_INFO","","371 :<string>",13,null],[13,"RPL_ENDOFINFO","","374 :End of INFO list",13,null],[13,"RPL_MOTDSTART","","375 :- <server> Message of the day -",13,null],[13,"RPL_MOTD","","372 :- <text>",13,null],[13,"RPL_ENDOFMOTD","","376 :End of MOTD command",13,null],[13,"RPL_YOUREOPER","","381 :You are now an IRC operator",13,null],[13,"RPL_REHASHING","","382 <config file> :Rehashing",13,null],[13,"RPL_YOURESERVICE","","383 You are service <servicename>",13,null],[13,"RPL_TIME","","391 <server> :<string showing server's local time>",13,null],[13,"RPL_USERSSTART","","392 :UserID Terminal Host",13,null],[13,"RPL_USERS","","393 :<username> <ttyline> <hostname>",13,null],[13,"RPL_ENDOFUSERS","","394 :End of users",13,null],[13,"RPL_NOUSERS","","395 :Nobody logged in",13,null],[13,"RPL_TRACELINK","","200 Link <version & debug level> <destination> <next server> V<protocol version>\n<link uptime in seconds> <backstream sendq> <upstream sendq> *",13,null],[13,"RPL_TRACECONNECTING","","201 Try. <class> <server>",13,null],[13,"RPL_TRACEHANDSHAKE","","202 H.S. <class> <server>",13,null],[13,"RPL_TRACEUKNOWN","","203 ???? <class> [<client IP address in dot form>]",13,null],[13,"RPL_TRACEOPERATOR","","204 Oper <class> <nick>",13,null],[13,"RPL_TRACEUSER","","205 User <class> <nick>",13,null],[13,"RPL_TRACESERVER","","206 Serv <class> <int>S <int>C <server> <nick!user|*!*>@<host|server> V<protocol version>",13,null],[13,"RPL_TRACESERVICE","","207 Service <class> <name> <type> <active type>",13,null],[13,"RPL_TRACENEWTYPE","","208 <newtype> 0 <client name>",13,null],[13,"RPL_TRACECLASS","","209 Class <class> <count>",13,null],[13,"RPL_TRACERECONNECT","","Unused.",13,null],[13,"RPL_TRACELOG","","261 File <logfile> <debug level>",13,null],[13,"RPL_TRACEEND","","262 <server name> <version & debug level> :End of TRACE",13,null],[13,"RPL_STATSLINKINFO","","211 <linkname> <sendq> <sent messages> <sent Kbytes> <received messages> <received Kbytes>\n<time open> *",13,null],[13,"RPL_STATSCOMMANDS","","212 <command> <count> <byte count> <remote count>",13,null],[13,"RPL_ENDOFSTATS","","219 <stats letter> :End of STATS report",13,null],[13,"RPL_STATSUPTIME","","242 :Server Up %d days %d:%02d:%02d",13,null],[13,"RPL_STATSOLINE","","O <hostmask> * <name>",13,null],[13,"RPL_UMODEIS","","221 <user mode string>",13,null],[13,"RPL_SERVLIST","","234 <name> <server> <mask> <type> <hopcount> <info>",13,null],[13,"RPL_SERVLISTEND","","235 <mask> <type> :End of service listing",13,null],[13,"RPL_LUSERCLIENT","","251 :There are <integer> users and <integer> services on <integer> servers",13,null],[13,"RPL_LUSEROP","","252 <integer> :operator(s) online",13,null],[13,"RPL_LUSERUNKNOWN","","253 <integer> :unknown connection(s)",13,null],[13,"RPL_LUSERCHANNELS","","254 <integer> :channels formed",13,null],[13,"RPL_LUSERME","","255 :I have <integer> clients and <integer> servers",13,null],[13,"RPL_ADMINME","","256 <server> :Administrative info",13,null],[13,"RPL_ADMINLOC1","","257 :<admin info>",13,null],[13,"RPL_ADMINLOC2","","258 :<admin info>",13,null],[13,"RPL_ADMINEMAIL","","259 :<admin info>",13,null],[13,"RPL_TRYAGAIN","","263 <command> :Please wait a while and try again.",13,null],[13,"RPL_MONONLINE","","730 <nick> :target[,target2]*",13,null],[13,"RPL_MONOFFLINE","","731 <nick> :target[,target2]*",13,null],[13,"RPL_MONLIST","","732 <nick> :target[,target2]*",13,null],[13,"RPL_ENDOFMONLIST","","733 <nick> :End of MONITOR list",13,null],[13,"RPL_WHOISKEYVALUE","","760 <target> <key> <visibility> :<value>",13,null],[13,"RPL_KEYVALUE","","761 <target> <key> <visibility> :[<value>]",13,null],[13,"RPL_METADATAEND","","762 :end of metadata",13,null],[13,"RPL_LOGGEDIN","","900 <nick> <nick>!<ident>@<host> <account> :You are now logged in as <user>",13,null],[13,"RPL_LOGGEDOUT","","901 <nick> <nick>!<ident>@<host> :You are now logged out",13,null],[13,"RPL_SASLSUCCESS","","903 <nick> :SASL authentication successful",13,null],[13,"RPL_SASLMECHS","","908 <nick> <mechanisms> :are available SASL mechanisms",13,null],[13,"ERR_NOSUCHNICK","","401 <nickname> :No such nick/channel",13,null],[13,"ERR_NOSUCHSERVER","","402 <server name> :No such server",13,null],[13,"ERR_NOSUCHCHANNEL","","403 <channel name> :No such channel",13,null],[13,"ERR_CANNOTSENDTOCHAN","","404 <channel name> :Cannot send to channel",13,null],[13,"ERR_TOOMANYCHANNELS","","405 <channel name> :You have joined too many channels",13,null],[13,"ERR_WASNOSUCHNICK","","406 <nickname> :There was no such nickname",13,null],[13,"ERR_TOOMANYTARGETS","","407 <target> :<error code> recipients. <abort message>",13,null],[13,"ERR_NOSUCHSERVICE","","408 <service name> :No such service",13,null],[13,"ERR_NOORIGIN","","409 :No origin specified",13,null],[13,"ERR_NORECIPIENT","","411 :No recipient given (<command>)",13,null],[13,"ERR_NOTEXTTOSEND","","412 :No text to send",13,null],[13,"ERR_NOTOPLEVEL","","413 <mask> :No toplevel domain specified",13,null],[13,"ERR_WILDTOPLEVEL","","414 <mask> :Wildcard in toplevel domain",13,null],[13,"ERR_BADMASK","","415 <mask> :Bad Server/host mask",13,null],[13,"ERR_UNKNOWNCOMMAND","","421 <command> :Unknown command",13,null],[13,"ERR_NOMOTD","","422 :MOTD File is missing",13,null],[13,"ERR_NOADMININFO","","423 <server> :No administrative info available",13,null],[13,"ERR_FILEERROR","","424 :File error doing <file op> on <file>",13,null],[13,"ERR_NONICKNAMEGIVEN","","431 :No nickname given",13,null],[13,"ERR_ERRONEOUSNICKNAME","","432 <nick> :Erroneous nickname"",13,null],[13,"ERR_NICKNAMEINUSE","","433 <nick> :Nickname is already in use",13,null],[13,"ERR_NICKCOLLISION","","436 <nick> :Nickname collision KILL from <user>@<host>",13,null],[13,"ERR_UNAVAILRESOURCE","","437 <nick/channel> :Nick/channel is temporarily unavailable",13,null],[13,"ERR_USERNOTINCHANNEL","","441 <nick> <channel> :They aren't on that channel",13,null],[13,"ERR_NOTONCHANNEL","","442 <channel> :You're not on that channel",13,null],[13,"ERR_USERONCHANNEL","","443 <user> <channel> :is already on channel",13,null],[13,"ERR_NOLOGIN","","444 <user> :User not logged in",13,null],[13,"ERR_SUMMONDISABLED","","445 :SUMMON has been disabled",13,null],[13,"ERR_USERSDISABLED","","446 :USERS has been disabled",13,null],[13,"ERR_NOTREGISTERED","","451 :You have not registered",13,null],[13,"ERR_NEEDMOREPARAMS","","461 <command> :Not enough parameters",13,null],[13,"ERR_ALREADYREGISTRED","","462 :Unauthorized command (already registered)",13,null],[13,"ERR_NOPERMFORHOST","","463 :Your host isn't among the privileged",13,null],[13,"ERR_PASSWDMISMATCH","","464 :Password incorrect",13,null],[13,"ERR_YOUREBANNEDCREEP","","465 :You are banned from this server",13,null],[13,"ERR_YOUWILLBEBANNED","","466",13,null],[13,"ERR_KEYSET","","467 <channel> :Channel key already set",13,null],[13,"ERR_CHANNELISFULL","","471 <channel> :Cannot join channel (+l)",13,null],[13,"ERR_UNKNOWNMODE","","472 <char> :is unknown mode char to me for <channel>",13,null],[13,"ERR_INVITEONLYCHAN","","473 <channel> :Cannot join channel (+i)",13,null],[13,"ERR_BANNEDFROMCHAN","","474 <channel> :Cannot join channel (+b)",13,null],[13,"ERR_BADCHANNELKEY","","475 <channel> :Cannot join channel (+k)",13,null],[13,"ERR_BADCHANMASK","","476 <channel> :Bad Channel Mask",13,null],[13,"ERR_NOCHANMODES","","477 <channel> :Channel doesn't support modes",13,null],[13,"ERR_BANLISTFULL","","478 <channel> <char> :Channel list is full",13,null],[13,"ERR_NOPRIVILEGES","","481 :Permission Denied- You're not an IRC operator",13,null],[13,"ERR_CHANOPRIVSNEEDED","","482 <channel> :You're not channel operator",13,null],[13,"ERR_CANTKILLSERVER","","483 :You can't kill a server!",13,null],[13,"ERR_RESTRICTED","","484 :Your connection is restricted!",13,null],[13,"ERR_UNIQOPPRIVSNEEDED","","485 :You're not the original channel operator",13,null],[13,"ERR_NOOPERHOST","","491 :No O-lines for your host",13,null],[13,"ERR_UMODEUNKNOWNFLAG","","501 :Unknown MODE flag",13,null],[13,"ERR_USERSDONTMATCH","","502 :Cannot change mode for other users",13,null],[13,"ERR_MONLISTFULL","","734 <nick> <limit> <targets> :Monitor list is full.",13,null],[13,"ERR_METADATALIMIT","","764 <target> :metadata limit reached",13,null],[13,"ERR_TARGETINVALID","","765 <target> :invalid metadata target",13,null],[13,"ERR_NOMATCHINGKEY","","766 <key> :no matching key",13,null],[13,"ERR_KEYINVALID","","767 <key> :invalid metadata key",13,null],[13,"ERR_KEYNOTSET","","768 <target> <key> :key not set",13,null],[13,"ERR_KEYNOPERMISSION","","769 <target> <key> :permission denied",13,null],[13,"ERR_NICKLOCKED","","902 <nick> :You must use a nick assigned to you.",13,null],[13,"ERR_SASLFAIL","","904 <nick> :SASL authentication failed",13,null],[13,"ERR_SASLTOOLONG","","905 <nick> :SASL message too long",13,null],[13,"ERR_SASLABORT","","906 <nick> :SASL authentication aborted",13,null],[13,"ERR_SASLALREADY","","907 <nick> :You have already authenticated using SASL",13,null],[11,"eq","","",13,null],[11,"fmt","","",13,null],[11,"clone","","",13,null],[11,"is_error","","Determines whether or not this response is an error response.",13,null],[11,"from_str","","",13,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"user","irc::client::data","Data for tracking user information.",null,null],[3,"User","irc::client::data::user","IRC User data.",null,null],[4,"AccessLevel","","The user's access level.",null,null],[13,"Owner","","The channel owner (~).",14,null],[13,"Admin","","A channel administrator (&).",14,null],[13,"Oper","","A channel operator (@),",14,null],[13,"HalfOp","","A channel half-oper (%),",14,null],[13,"Voice","","A user with voice (+),",14,null],[13,"Member","","A normal user,",14,null],[11,"fmt","","",15,null],[11,"clone","","",15,null],[11,"new","","Creates a new User.",15,{"inputs":[{"name":"str"}],"output":{"name":"user"}}],[11,"get_nickname","","Gets the nickname of the user.",15,null],[11,"get_username","","Gets the username of the user, if it's known.\nThis requires the IRCv3.2 extension `userhost-in-name`.",15,null],[11,"get_hostname","","Gets the hostname of the user, if it's known.\nThis requires the IRCv3.2 extension `userhost-in-name`.",15,null],[11,"highest_access_level","","Gets the user's highest access level.",15,null],[11,"access_levels","","Gets all the user's access levels.",15,null],[11,"update_access_level","","Updates the user's access level.",15,null],[11,"eq","","",15,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"eq","","",14,null],[11,"partial_cmp","","",14,null],[11,"from_str","","",14,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[0,"server","irc::client","Interface for working with IRC Servers.",null,null],[3,"IrcServer","irc::client::server","A thread-safe implementation of an IRC Server connection.",null,null],[3,"ServerIterator","","An Iterator over an IrcServer's incoming Messages.",null,null],[0,"utils","","Utilities and shortcuts for working with IRC servers.",null,null],[8,"ServerExt","irc::client::server::utils","Extensions for Server capabilities that make it easier to work directly with the protocol.",null,null],[11,"send_cap_ls","","Sends a request for a list of server capabilities for a specific IRCv3 version.",16,null],[11,"send_cap_req","","Sends an IRCv3 capabilities request for the specified extensions.",16,null],[11,"identify","","Sends a CAP END, NICK and USER to identify.",16,null],[11,"send_sasl","","Sends a SASL AUTHENTICATE message with the specified data.",16,null],[11,"send_sasl_plain","","Sends a SASL AUTHENTICATE request to use the PLAIN mechanism.",16,null],[11,"send_sasl_external","","Sends a SASL AUTHENTICATE request to use the EXTERNAL mechanism.",16,null],[11,"send_sasl_abort","","Sends a SASL AUTHENTICATE request to abort authentication.",16,null],[11,"send_pong","","Sends a PONG with the specified message.",16,null],[11,"send_join","","Joins the specified channel or chanlist.",16,null],[11,"send_oper","","Attempts to oper up using the specified username and password.",16,null],[11,"send_privmsg","","Sends a message to the specified target.",16,null],[11,"send_notice","","Sends a notice to the specified target.",16,null],[11,"send_topic","","Sets the topic of a channel or requests the current one.\nIf `topic` is an empty string, it won't be included in the message.",16,null],[11,"send_kill","","Kills the target with the provided message.",16,null],[11,"send_kick","","Kicks the listed nicknames from the listed channels with a comment.\nIf `message` is an empty string, it won't be included in the message.",16,null],[11,"send_mode","","Changes the mode of the target.\nIf `modeparmas` is an empty string, it won't be included in the message.",16,null],[11,"send_samode","","Changes the mode of the target by force.\nIf `modeparams` is an empty string, it won't be included in the message.",16,null],[11,"send_sanick","","Forces a user to change from the old nickname to the new nickname.",16,null],[11,"send_invite","","Invites a user to the specified channel.",16,null],[11,"send_quit","","Quits the server entirely with a message.\nThis defaults to `Powered by Rust.` if none is specified.",16,null],[11,"send_ctcp","","Sends a CTCP-escaped message to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_action","","Sends an action command to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_finger","","Sends a finger request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_version","","Sends a version request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_source","","Sends a source request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_user_info","","Sends a user info request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_ctcp_ping","","Sends a finger request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[11,"send_time","","Sends a time request to the specified target.\nThis requires the CTCP feature to be enabled.",16,null],[8,"Server","irc::client::server","An interface for interacting with an IRC server.",null,null],[10,"config","","Gets the configuration being used with this Server.",17,null],[10,"send","","Sends a Command to this Server.",17,null],[10,"iter","","Gets an iterator over received messages.",17,null],[10,"list_users","","Gets a list of Users in the specified channel. This will be none if the channel is not\nbeing tracked, or if tracking is not supported altogether. For best results, be sure to\nrequest `multi-prefix` support from the server.",17,null],[11,"new","","Creates a new IRC Server connection from the configuration at the specified path,\nconnecting immediately.",18,{"inputs":[{"name":"p"}],"output":{"name":"result"}}],[11,"from_config","","Creates a new IRC server connection from the specified configuration, connecting\nimmediately.",18,{"inputs":[{"name":"config"}],"output":{"name":"result"}}],[11,"clone","","",18,null],[11,"config","","",18,null],[11,"send","","",18,null],[11,"iter","","",18,null],[11,"list_users","","",18,null],[11,"from_connection","","Creates an IRC server from the specified configuration, and any arbitrary sync connection.",18,{"inputs":[{"name":"config"},{"name":"c"}],"output":{"name":"ircserver"}}],[11,"conn","","Gets a reference to the IRC server's connection.",18,null],[11,"reconnect","","Reconnects to the IRC server, disconnecting if necessary.",18,null],[11,"current_nickname","","Gets the current nickname in use.",18,null],[11,"await_writing","","Waits for the completion of all writes for messages in this server's write queue. This\nfunction may cause unusual behavior when called on a server with operations being performed\non other threads. This function is destructive, and is primarily intended for writing unit\ntests. Use it with care.",18,null],[11,"new","","Creates a new ServerIterator for the desired IrcServer.",19,{"inputs":[{"name":"ircserver"}],"output":{"name":"serveriterator"}}],[11,"next","","",19,null],[0,"prelude","irc::client","A client-side IRC prelude, re-exporting all the necessary basics.",null,null],[0,"server","irc","A simple, thread-safe IRC server library.\nThe server module is currently unimplimented. Visit \nhttps://github.com/aatxe/irc/issues/22 to contribute!",null,null]],"paths":[[4,"NetStream"],[8,"Connection"],[3,"NetConnection"],[3,"MockConnection"],[4,"Capability"],[4,"NegotiationVersion"],[4,"Command"],[4,"CapSubCommand"],[4,"MetadataSubCommand"],[4,"BatchSubCommand"],[3,"Config"],[3,"Message"],[3,"Tag"],[4,"Response"],[4,"AccessLevel"],[3,"User"],[8,"ServerExt"],[8,"Server"],[3,"IrcServer"],[3,"ServerIterator"]]}; initSearch(searchIndex);