var searchIndex = {}; searchIndex["loirc"] = {"doc":"This library's goal is to offer a highly available IRC client with an easy to use API.\nAutomatic reconnection is built into the design. It uses a channel-like design, where\nevents are received from a `Reader` and commands are sent from one or many `Writer`.","items":[[3,"Duration","loirc","ISO 8601 time duration with nanosecond precision.\nThis also allows for the negative duration; see individual methods for details.",null,null],[3,"ActivityMonitor","","This struct monitors a connection's activity.",null,null],[3,"MonitorSettings","","These settings tell the monitor how to behave.",null,null],[12,"activity_timeout","","Amount of time since the last activity.",0,null],[12,"ping_timeout","","Amount of time to wait for a ping reply.",0,null],[3,"Writer","","Used to send messages to the IRC server.",null,null],[3,"Message","","Represents a message received from the server.",null,null],[12,"prefix","","Prefix",1,null],[12,"code","","Code",1,null],[12,"args","","Arguments",1,null],[12,"suffix","","Suffix",1,null],[3,"User","","User prefix representation.",null,null],[12,"nickname","","Nickname",2,null],[12,"username","","Username",2,null],[12,"hostname","","Hostname",2,null],[4,"Event","","This is the comprehensive set of events that can occur.",null,null],[13,"Closed","","Connection was manually closed. The string is the reason.",3,null],[13,"Disconnected","","Connection has dropped.",3,null],[13,"Message","","Message from the IRC server.",3,null],[13,"ParseError","","Error parsing a message from the server.",3,null],[13,"Reconnected","","Connection was sucessfully restored.",3,null],[13,"Reconnecting","","Attempting to restore connection.",3,null],[13,"ReconnectionError","","An error occured trying to restore the connection.",3,null],[4,"Error","","Errors produced by the Writer.",null,null],[13,"AlreadyClosed","","Connection is already closed.",4,null],[13,"AlreadyDisconnected","","Connection is already disconnected.",4,null],[13,"Closed","","Connection was manually closed.",4,null],[13,"Disconnected","","Connection was dropped.",4,null],[4,"ReconnectionSettings","","These settings tell the reconnection process how to behave.",null,null],[13,"DoNotReconnect","","Don't try to reconnect after failure.",5,null],[13,"Reconnect","","Reconnect",5,null],[12,"max_attempts","loirc::ReconnectionSettings","After trying this amount of times, it will stop trying.",5,null],[12,"delay_between_attempts","","Wait time between two attempts to reconnect in milliseconds.",5,null],[12,"delay_after_disconnect","","Wait time after disconnection, before trying to reconnect.",5,null],[4,"Code","loirc","Representation of IRC commands, replies and errors.",null,null],[13,"Pass","","PASS = "PASS"",6,null],[13,"Nick","","NICK = "NICK"",6,null],[13,"User","","USER = "USER"",6,null],[13,"Oper","","OPER = "OPER"",6,null],[13,"Mode","","MODE = "MODE"",6,null],[13,"Service","","SERVICE = "SERVICE"",6,null],[13,"Quit","","QUIT = "QUIT"",6,null],[13,"Squit","","SQUIT = "SQUIT"",6,null],[13,"Join","","JOIN = "JOIN"",6,null],[13,"Part","","PART = "PART"",6,null],[13,"Topic","","TOPIC = "TOPIC"",6,null],[13,"Names","","NAMES = "NAMES"",6,null],[13,"List","","LIST = "LIST"",6,null],[13,"Invite","","INVITE = "INVITE"",6,null],[13,"Kick","","KICK = "KICK"",6,null],[13,"Privmsg","","PRIVMSG = "PRIVMSG"",6,null],[13,"Notice","","NOTICE = "NOTICE"",6,null],[13,"Motd","","MOTD = "MOTD"",6,null],[13,"Lusers","","LUSERS = "LUSERS"",6,null],[13,"Version","","VERSION = "VERSION"",6,null],[13,"Stats","","STATS = "STATS"",6,null],[13,"Links","","LINKS = "LINKS"",6,null],[13,"Time","","TIME = "TIME"",6,null],[13,"Connect","","CONNECT = "CONNECT"",6,null],[13,"Trace","","TRACE = "TRACE"",6,null],[13,"Admin","","ADMIN = "ADMIN"",6,null],[13,"Info","","INFO = "INFO"",6,null],[13,"Servlist","","SERVLIST = "SERVLIST"",6,null],[13,"Squery","","SQUERY = "SQUERY"",6,null],[13,"Who","","WHO = "WHO"",6,null],[13,"Whois","","WHOIS = "WHOIS"",6,null],[13,"Whowas","","WHOWAS = "WHOWAS"",6,null],[13,"Kill","","KILL = "KILL"",6,null],[13,"Ping","","PING = "PING"",6,null],[13,"Pong","","PONG = "PONG"",6,null],[13,"Error","","ERROR = "ERROR"",6,null],[13,"Away","","AWAY = "AWAY"",6,null],[13,"Rehash","","REHASH = "REHASH"",6,null],[13,"Die","","DIE = "DIE"",6,null],[13,"Restart","","RESTART = "RESTART"",6,null],[13,"Summon","","SUMMON = "SUMMON"",6,null],[13,"Users","","USERS = "USERS"",6,null],[13,"Wallops","","WALLOPS = "WALLOPS"",6,null],[13,"Userhost","","USERHOST = "USERHOST"",6,null],[13,"Ison","","ISON = "ISON"",6,null],[13,"RplWelcome","","RPL_WELCOME = "001"",6,null],[13,"RplYourhost","","RPL_YOURHOST = "002"",6,null],[13,"RplCreated","","RPL_CREATED = "003"",6,null],[13,"RplMyinfo","","RPL_MYINFO = "004"",6,null],[13,"RplBounce","","RPL_BOUNCE = "005"",6,null],[13,"RplUserhost","","RPL_USERHOST = "302"",6,null],[13,"RplIson","","RPL_ISON = "303"",6,null],[13,"RplAway","","RPL_AWAY = "301"",6,null],[13,"RplUnaway","","RPL_UNAWAY = "305"",6,null],[13,"RplNowaway","","RPL_NOWAWAY = "306"",6,null],[13,"RplWhoisuser","","RPL_WHOISUSER = "311"",6,null],[13,"RplWhoisserver","","RPL_WHOISSERVER = "312"",6,null],[13,"RplWhoisoperator","","RPL_WHOISOPERATOR = "313"",6,null],[13,"RplWhoisidle","","RPL_WHOISIDLE = "317"",6,null],[13,"RplEndofwhois","","RPL_ENDOFWHOIS = "318"",6,null],[13,"RplWhoischannels","","RPL_WHOISCHANNELS = "319"",6,null],[13,"RplWhowasuser","","RPL_WHOWASUSER = "314"",6,null],[13,"RplEndofwhowas","","RPL_ENDOFWHOWAS = "369"",6,null],[13,"RplListstart","","RPL_LISTSTART = "321"",6,null],[13,"RplList","","RPL_LIST = "322"",6,null],[13,"RplListend","","RPL_LISTEND = "323"",6,null],[13,"RplUniqopis","","RPL_UNIQOPIS = "325"",6,null],[13,"RplChannelmodeis","","RPL_CHANNELMODEIS = "324"",6,null],[13,"RplNotopic","","RPL_NOTOPIC = "331"",6,null],[13,"RplTopic","","RPL_TOPIC = "332"",6,null],[13,"RplInviting","","RPL_INVITING = "341"",6,null],[13,"RplSummoning","","RPL_SUMMONING = "342"",6,null],[13,"RplInvitelist","","RPL_INVITELIST = "346"",6,null],[13,"RplEndofinvitelist","","RPL_ENDOFINVITELIST = "347"",6,null],[13,"RplExceptlist","","RPL_EXCEPTLIST = "348"",6,null],[13,"RplEndofexecptlist","","RPL_ENDOFEXECPTLIST = "349"",6,null],[13,"RplVersion","","RPL_VERSION = "351"",6,null],[13,"RplWhoreply","","RPL_WHOREPLY = "352"",6,null],[13,"RplEndofwho","","RPL_ENDOFWHO = "315"",6,null],[13,"RplNamreply","","RPL_NAMREPLY = "353"",6,null],[13,"RplEndofnames","","RPL_ENDOFNAMES = "366"",6,null],[13,"RplLinks","","RPL_LINKS = "364"",6,null],[13,"RplEndoflinks","","RPL_ENDOFLINKS = "365"",6,null],[13,"RplBanlist","","RPL_BANLIST = "367"",6,null],[13,"RplEndofbanlist","","RPL_ENDOFBANLIST = "368"",6,null],[13,"RplInfo","","RPL_INFO = "371"",6,null],[13,"RplEndofinfo","","RPL_ENDOFINFO = "374"",6,null],[13,"RplMotdstart","","RPL_MOTDSTART = "375"",6,null],[13,"RplMotd","","RPL_MOTD = "372"",6,null],[13,"RplEndofmotd","","RPL_ENDOFMOTD = "376"",6,null],[13,"RplYoureoper","","RPL_YOUREOPER = "381"",6,null],[13,"RplRehashing","","RPL_REHASHING = "382"",6,null],[13,"RplYoureservice","","RPL_YOURESERVICE = "383"",6,null],[13,"RplTime","","RPL_TIME = "391"",6,null],[13,"RplUsersstart","","RPL_USERSSTART = "392"",6,null],[13,"RplUsers","","RPL_USERS = "393"",6,null],[13,"RplEndofusers","","RPL_ENDOFUSERS = "394"",6,null],[13,"RplNousers","","RPL_NOUSERS = "395"",6,null],[13,"RplTracelink","","RPL_TRACELINK = "200"",6,null],[13,"RplTraceconnecting","","RPL_TRACECONNECTING = "201"",6,null],[13,"RplTracehandshake","","RPL_TRACEHANDSHAKE = "202"",6,null],[13,"RplTraceuknown","","RPL_TRACEUKNOWN = "203"",6,null],[13,"RplTraceoperator","","RPL_TRACEOPERATOR = "204"",6,null],[13,"RplTraceuser","","RPL_TRACEUSER = "205"",6,null],[13,"RplTraceserver","","RPL_TRACESERVER = "206"",6,null],[13,"RplTraceservice","","RPL_TRACESERVICE = "207"",6,null],[13,"RplTracenewtype","","RPL_TRACENEWTYPE = "208"",6,null],[13,"RplTraceclass","","RPL_TRACECLASS = "209"",6,null],[13,"RplTracereconnect","","RPL_TRACERECONNECT = "210"",6,null],[13,"RplTracelog","","RPL_TRACELOG = "261"",6,null],[13,"RplTraceend","","RPL_TRACEEND = "262"",6,null],[13,"RplStatslinkinfo","","RPL_STATSLINKINFO = "211"",6,null],[13,"RplStatscommands","","RPL_STATSCOMMANDS = "212"",6,null],[13,"RplEndofstats","","RPL_ENDOFSTATS = "219"",6,null],[13,"RplStatsuptime","","RPL_STATSUPTIME = "242"",6,null],[13,"RplStatsoline","","RPL_STATSOLINE = "243"",6,null],[13,"RplUmodeis","","RPL_UMODEIS = "221"",6,null],[13,"RplServlist","","RPL_SERVLIST = "234"",6,null],[13,"RplServlistend","","RPL_SERVLISTEND = "235"",6,null],[13,"RplLuserclient","","RPL_LUSERCLIENT = "251"",6,null],[13,"RplLuserop","","RPL_LUSEROP = "252"",6,null],[13,"RplLuserunknown","","RPL_LUSERUNKNOWN = "253"",6,null],[13,"RplLuserchannels","","RPL_LUSERCHANNELS = "254"",6,null],[13,"RplLuserme","","RPL_LUSERME = "255"",6,null],[13,"RplAdminme","","RPL_ADMINME = "256"",6,null],[13,"RplAdminloc1","","RPL_ADMINLOC1 = "257"",6,null],[13,"RplAdminloc2","","RPL_ADMINLOC2 = "258"",6,null],[13,"RplAdminemail","","RPL_ADMINEMAIL = "259"",6,null],[13,"RplTryagain","","RPL_TRYAGAIN = "263"",6,null],[13,"ErrNosuchnick","","ERR_NOSUCHNICK = "401"",6,null],[13,"ErrNosuchserver","","ERR_NOSUCHSERVER = "402"",6,null],[13,"ErrNosuchchannel","","ERR_NOSUCHCHANNEL = "403"",6,null],[13,"ErrCannotsendtochan","","ERR_CANNOTSENDTOCHAN = "404"",6,null],[13,"ErrToomanychannels","","ERR_TOOMANYCHANNELS = "405"",6,null],[13,"ErrWasnosuchnick","","ERR_WASNOSUCHNICK = "406"",6,null],[13,"ErrToomanytargets","","ERR_TOOMANYTARGETS = "407"",6,null],[13,"ErrNosuchservice","","ERR_NOSUCHSERVICE = "408"",6,null],[13,"ErrNoorigin","","ERR_NOORIGIN = "409"",6,null],[13,"ErrNorecipient","","ERR_NORECIPIENT = "411"",6,null],[13,"ErrNotexttosend","","ERR_NOTEXTTOSEND = "412"",6,null],[13,"ErrNotoplevel","","ERR_NOTOPLEVEL = "413"",6,null],[13,"ErrWildtoplevel","","ERR_WILDTOPLEVEL = "414"",6,null],[13,"ErrBadmask","","ERR_BADMASK = "415"",6,null],[13,"ErrUnknowncommand","","ERR_UNKNOWNCOMMAND = "421"",6,null],[13,"ErrNomotd","","ERR_NOMOTD = "422"",6,null],[13,"ErrNoadmininfo","","ERR_NOADMININFO = "423"",6,null],[13,"ErrFileerror","","ERR_FILEERROR = "424"",6,null],[13,"ErrNonicknamegiven","","ERR_NONICKNAMEGIVEN = "431"",6,null],[13,"ErrErroneousnickname","","ERR_ERRONEOUSNICKNAME = "432"",6,null],[13,"ErrNicknameinuse","","ERR_NICKNAMEINUSE = "433"",6,null],[13,"ErrNickcollision","","ERR_NICKCOLLISION = "436"",6,null],[13,"ErrUnavailresource","","ERR_UNAVAILRESOURCE = "437"",6,null],[13,"ErrUsernotinchannel","","ERR_USERNOTINCHANNEL = "441"",6,null],[13,"ErrNotonchannel","","ERR_NOTONCHANNEL = "442"",6,null],[13,"ErrUseronchannel","","ERR_USERONCHANNEL = "443"",6,null],[13,"ErrNologin","","ERR_NOLOGIN = "444"",6,null],[13,"ErrSummondisabled","","ERR_SUMMONDISABLED = "445"",6,null],[13,"ErrUsersdisabled","","ERR_USERSDISABLED = "446"",6,null],[13,"ErrNotregistered","","ERR_NOTREGISTERED = "451"",6,null],[13,"ErrNeedmoreparams","","ERR_NEEDMOREPARAMS = "461"",6,null],[13,"ErrAlreadyregistred","","ERR_ALREADYREGISTRED = "462"",6,null],[13,"ErrNopermforhost","","ERR_NOPERMFORHOST = "463"",6,null],[13,"ErrPasswdmismatch","","ERR_PASSWDMISMATCH = "464"",6,null],[13,"ErrYourebannedcreep","","ERR_YOUREBANNEDCREEP = "465"",6,null],[13,"ErrYouwillbebanned","","ERR_YOUWILLBEBANNED = "466"",6,null],[13,"ErrKeyset","","ERR_KEYSET = "467"",6,null],[13,"ErrChannelisfull","","ERR_CHANNELISFULL = "471"",6,null],[13,"ErrUnknownmode","","ERR_UNKNOWNMODE = "472"",6,null],[13,"ErrInviteonlychan","","ERR_INVITEONLYCHAN = "473"",6,null],[13,"ErrBannedfromchan","","ERR_BANNEDFROMCHAN = "474"",6,null],[13,"ErrBadchannelkey","","ERR_BADCHANNELKEY = "475"",6,null],[13,"ErrBadchanmask","","ERR_BADCHANMASK = "476"",6,null],[13,"ErrNochanmodes","","ERR_NOCHANMODES = "477"",6,null],[13,"ErrBanlistfull","","ERR_BANLISTFULL = "478"",6,null],[13,"ErrNoprivileges","","ERR_NOPRIVILEGES = "481"",6,null],[13,"ErrChanoprivsneeded","","ERR_CHANOPRIVSNEEDED = "482"",6,null],[13,"ErrCantkillserver","","ERR_CANTKILLSERVER = "483"",6,null],[13,"ErrRestricted","","ERR_RESTRICTED = "484"",6,null],[13,"ErrUniqopprivsneeded","","ERR_UNIQOPPRIVSNEEDED = "485"",6,null],[13,"ErrNooperhost","","ERR_NOOPERHOST = "491"",6,null],[13,"ErrUmodeunknownflag","","ERR_UMODEUNKNOWNFLAG = "501"",6,null],[13,"ErrUsersdontmatch","","ERR_USERSDONTMATCH = "502"",6,null],[13,"Unknown","","Codes that are unknown end up in here.",6,null],[4,"ParseError","","Error generated by the parser.",null,null],[13,"EmptyCommand","","String was empty.",7,null],[13,"EmptyMessage","","Message did not have a code.",7,null],[13,"UnexpectedEnd","","Unexpected end of the string.",7,null],[4,"Prefix","","Prefix of the message.",null,null],[13,"User","","Prefix is a user.",8,null],[13,"Server","","Prefix is a server.",8,null],[5,"connect","","Create a connection to the given address.",null,{"inputs":[{"name":"a"},{"name":"reconnectionsettings"}],"output":{"name":"result"}}],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"default","","",0,{"inputs":[],"output":{"name":"monitorsettings"}}],[11,"new","","Create a new ActivityMonitor.",9,{"inputs":[{"name":"writer"},{"name":"monitorsettings"}],"output":{"name":"activitymonitor"}}],[11,"feed","","Give an event received from the connection to the monitor.",9,null],[11,"drop","","",9,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"is_reply","","Checks if the code is a reply.",6,null],[11,"is_error","","Check if the code is en error.",6,null],[11,"fmt","","",6,null],[11,"from_str","","",6,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"fmt","","",3,null],[11,"eq","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"clone","","",10,null],[11,"disconnect","","Drop the connection and trigger the reconnection process.",10,null],[11,"is_closed","","Check if the connection was manually closed.",10,null],[11,"close","","Close the connection and stop listening for messages.",10,null],[11,"raw","","Send a raw string to the IRC server.",10,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"default","","",5,{"inputs":[],"output":{"name":"reconnectionsettings"}}],[11,"partial_cmp","","",7,null],[11,"eq","","",7,null],[11,"cmp","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"parse","","Parse the given string into a `Message` struct.",1,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[6,"Reader","","This the receiving end of a `mpsc` channel.",null,null],[11,"weeks","","Makes a new `Duration` with given number of weeks.\nEquivalent to `Duration::seconds(weeks * 7 * 24 * 60 * 60)` with overflow checks.\nPanics when the duration is out of bounds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"days","","Makes a new `Duration` with given number of days.\nEquivalent to `Duration::seconds(days * 24 * 60 * 60)` with overflow checks.\nPanics when the duration is out of bounds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"hours","","Makes a new `Duration` with given number of hours.\nEquivalent to `Duration::seconds(hours * 60 * 60)` with overflow checks.\nPanics when the duration is out of bounds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"minutes","","Makes a new `Duration` with given number of minutes.\nEquivalent to `Duration::seconds(minutes * 60)` with overflow checks.\nPanics when the duration is out of bounds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"seconds","","Makes a new `Duration` with given number of seconds.\nPanics when the duration is more than `i64::MAX` milliseconds\nor less than `i64::MIN` milliseconds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"milliseconds","","Makes a new `Duration` with given number of milliseconds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"microseconds","","Makes a new `Duration` with given number of microseconds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"nanoseconds","","Makes a new `Duration` with given number of nanoseconds.",11,{"inputs":[{"name":"i64"}],"output":{"name":"duration"}}],[11,"span","","Runs a closure, returning the duration of time it took to run the\nclosure.",11,{"inputs":[{"name":"f"}],"output":{"name":"duration"}}],[11,"num_weeks","","Returns the total number of whole weeks in the duration.",11,null],[11,"num_days","","Returns the total number of whole days in the duration.",11,null],[11,"num_hours","","Returns the total number of whole hours in the duration.",11,null],[11,"num_minutes","","Returns the total number of whole minutes in the duration.",11,null],[11,"num_seconds","","Returns the total number of whole seconds in the duration.",11,null],[11,"num_milliseconds","","Returns the total number of whole milliseconds in the duration,",11,null],[11,"num_microseconds","","Returns the total number of whole microseconds in the duration,\nor `None` on overflow (exceeding 2^63 microseconds in either direction).",11,null],[11,"num_nanoseconds","","Returns the total number of whole nanoseconds in the duration,\nor `None` on overflow (exceeding 2^63 nanoseconds in either direction).",11,null],[11,"checked_add","","Add two durations, returning `None` if overflow occurred.",11,null],[11,"checked_sub","","Subtract two durations, returning `None` if overflow occurred.",11,null],[11,"min_value","","The minimum possible `Duration`: `i64::MIN` milliseconds.",11,{"inputs":[],"output":{"name":"duration"}}],[11,"max_value","","The maximum possible `Duration`: `i64::MAX` milliseconds.",11,{"inputs":[],"output":{"name":"duration"}}],[11,"zero","","A duration where the stored seconds and nanoseconds are equal to zero.",11,{"inputs":[],"output":{"name":"duration"}}],[11,"is_zero","","Returns `true` if the duration equals `Duration::zero()`.",11,null],[11,"from_std","","Creates a `time::Duration` object from `std::time::Duration`",11,{"inputs":[{"name":"duration"}],"output":{"name":"result"}}],[11,"to_std","","Creates a `std::time::Duration` object from `time::Duration`",11,null],[11,"fmt","","",11,null],[11,"cmp","","",11,null],[11,"partial_cmp","","",11,null],[11,"lt","","",11,null],[11,"le","","",11,null],[11,"gt","","",11,null],[11,"ge","","",11,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"clone","","",11,null],[11,"neg","","",11,null],[11,"add","","",11,null],[11,"sub","","",11,null],[11,"mul","","",11,null],[11,"div","","",11,null],[11,"fmt","","",11,null]],"paths":[[3,"MonitorSettings"],[3,"Message"],[3,"User"],[4,"Event"],[4,"Error"],[4,"ReconnectionSettings"],[4,"Code"],[4,"ParseError"],[4,"Prefix"],[3,"ActivityMonitor"],[3,"Writer"],[3,"Duration"]]}; initSearch(searchIndex);