<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="generator" content="Crystal Docs 0.34.0"> <meta name="crystal_docs.project_version" content="HEAD"> <meta name="crystal_docs.project_name" content="crirc"> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/doc.js"></script> <svg class="hidden"> <symbol id="octicon-link" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path> </symbol> </svg> <meta id="repository-name" content="crirc"> <title>Crirc - crirc HEAD</title> <script type="text/javascript"> CrystalDocs.base_path = ""; </script> </head> <body> <div class="sidebar"> <div class="sidebar-header"> <div class="search-box"> <input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search"> </div> <div class="project-summary"> <h1 class="project-name"> <a href="index.html"> crirc </a> </h1> <span class="project-version"> HEAD </span> </div> </div> <div class="search-results" class="hidden"> <ul class="search-list"></ul> </div> <div class="types-list"> <ul> <li class=" " data-id="crirc/toplevel" data-name="top level namespace"> <a href="toplevel.html">Top Level Namespace</a> </li> <li class="parent open current" data-id="crirc/Crirc" data-name="crirc"> <a href="Crirc.html">Crirc</a> <ul> <li class="parent " data-id="crirc/Crirc/Binding" data-name="crirc::binding"> <a href="Crirc/Binding.html">Binding</a> <ul> <li class="parent " data-id="crirc/Crirc/Binding/Handler" data-name="crirc::binding::handler"> <a href="Crirc/Binding/Handler.html">Handler</a> <ul> <li class=" " data-id="crirc/Crirc/Binding/Handler/Hook" data-name="crirc::binding::handler::hook"> <a href="Crirc/Binding/Handler/Hook.html">Hook</a> </li> <li class=" " data-id="crirc/Crirc/Binding/Handler/HookRule" data-name="crirc::binding::handler::hookrule"> <a href="Crirc/Binding/Handler/HookRule.html">HookRule</a> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/Binding/Trigger" data-name="crirc::binding::trigger"> <a href="Crirc/Binding/Trigger.html">Trigger</a> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/Broadcast" data-name="crirc::broadcast"> <a href="Crirc/Broadcast.html">Broadcast</a> </li> <li class=" " data-id="crirc/Crirc/ChanList" data-name="crirc::chanlist"> <a href="Crirc/ChanList.html">ChanList</a> </li> <li class="parent " data-id="crirc/Crirc/Controller" data-name="crirc::controller"> <a href="Crirc/Controller.html">Controller</a> <ul> <li class=" " data-id="crirc/Crirc/Controller/Client" data-name="crirc::controller::client"> <a href="Crirc/Controller/Client.html">Client</a> </li> <li class="parent " data-id="crirc/Crirc/Controller/Command" data-name="crirc::controller::command"> <a href="Crirc/Controller/Command.html">Command</a> <ul> <li class=" " data-id="crirc/Crirc/Controller/Command/Chan" data-name="crirc::controller::command::chan"> <a href="Crirc/Controller/Command/Chan.html">Chan</a> </li> <li class=" " data-id="crirc/Crirc/Controller/Command/Ping" data-name="crirc::controller::command::ping"> <a href="Crirc/Controller/Command/Ping.html">Ping</a> </li> <li class=" " data-id="crirc/Crirc/Controller/Command/Talk" data-name="crirc::controller::command::talk"> <a href="Crirc/Controller/Command/Talk.html">Talk</a> </li> <li class=" " data-id="crirc/Crirc/Controller/Command/User" data-name="crirc::controller::command::user"> <a href="Crirc/Controller/Command/User.html">User</a> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/Controller/Controller" data-name="crirc::controller::controller"> <a href="Crirc/Controller/Controller.html">Controller</a> </li> <li class=" " data-id="crirc/Crirc/Controller/Server" data-name="crirc::controller::server"> <a href="Crirc/Controller/Server.html">Server</a> </li> <li class=" " data-id="crirc/Crirc/Controller/ServerClient" data-name="crirc::controller::serverclient"> <a href="Crirc/Controller/ServerClient.html">ServerClient</a> </li> </ul> </li> <li class="parent " data-id="crirc/Crirc/Network" data-name="crirc::network"> <a href="Crirc/Network.html">Network</a> <ul> <li class="parent " data-id="crirc/Crirc/Network/Client" data-name="crirc::network::client"> <a href="Crirc/Network/Client.html">Client</a> <ul> <li class=" " data-id="crirc/Crirc/Network/Client/IrcSocket" data-name="crirc::network::client::ircsocket"> <a href="Crirc/Network/Client/IrcSocket.html">IrcSocket</a> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/Network/Network" data-name="crirc::network::network"> <a href="Crirc/Network/Network.html">Network</a> </li> <li class=" " data-id="crirc/Crirc/Network/Server" data-name="crirc::network::server"> <a href="Crirc/Network/Server.html">Server</a> </li> <li class=" " data-id="crirc/Crirc/Network/ServerClient" data-name="crirc::network::serverclient"> <a href="Crirc/Network/ServerClient.html">ServerClient</a> </li> </ul> </li> <li class="parent " data-id="crirc/Crirc/Protocol" data-name="crirc::protocol"> <a href="Crirc/Protocol.html">Protocol</a> <ul> <li class="parent " data-id="crirc/Crirc/Protocol/Chan" data-name="crirc::protocol::chan"> <a href="Crirc/Protocol/Chan.html">Chan</a> <ul> <li class=" " data-id="crirc/Crirc/Protocol/Chan/Motd" data-name="crirc::protocol::chan::motd"> <a href="Crirc/Protocol/Chan/Motd.html">Motd</a> </li> <li class=" " data-id="crirc/Crirc/Protocol/Chan/ParsingError" data-name="crirc::protocol::chan::parsingerror"> <a href="Crirc/Protocol/Chan/ParsingError.html">ParsingError</a> </li> </ul> </li> <li class="parent " data-id="crirc/Crirc/Protocol/Message" data-name="crirc::protocol::message"> <a href="Crirc/Protocol/Message.html">Message</a> <ul> <li class=" " data-id="crirc/Crirc/Protocol/Message/ParsingError" data-name="crirc::protocol::message::parsingerror"> <a href="Crirc/Protocol/Message/ParsingError.html">ParsingError</a> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/Protocol/Target" data-name="crirc::protocol::target"> <a href="Crirc/Protocol/Target.html">Target</a> </li> <li class="parent " data-id="crirc/Crirc/Protocol/User" data-name="crirc::protocol::user"> <a href="Crirc/Protocol/User.html">User</a> <ul> <li class=" " data-id="crirc/Crirc/Protocol/User/ParsingError" data-name="crirc::protocol::user::parsingerror"> <a href="Crirc/Protocol/User/ParsingError.html">ParsingError</a> </li> </ul> </li> </ul> </li> <li class=" " data-id="crirc/Crirc/UserList" data-name="crirc::userlist"> <a href="Crirc/UserList.html">UserList</a> </li> </ul> </li> </ul> </div> </div> <div class="main-content"> <h1 class="type-name"> <span class="kind">module</span> Crirc </h1> <h2> <a id="overview" class="anchor" href="#overview"> <svg class="octicon-link" aria-hidden="true"> <use href="#octicon-link"/> </svg> </a> Overview </h2> <p>The Crirc module contains all the object related to the project. It uses 4 layers of objects:</p> <ol><li><strong>Network</strong>: A network object manage a socket / I0. The interface is described by <code><a href="Crirc/Network/Network.html">Crirc::Network::Network</a></code>.</li><li><strong>Controller</strong>: A controller belongs to a network object, and handle the logic and data. Its interface is described by <code><a href="Crirc/Controller/Controller.html">Crirc::Controller::Controller</a></code>.</li><li><strong>Protocol</strong>: A protocol object represent a IRC entity (chan, user, message, ...).</li><li><strong>Broadcast</strong>: The <code><a href="Crirc/Broadcast.html">Broadcast</a></code> allows the system to send transmission to several IRC entity as one.</li><li><strong>Binding</strong>: The <code><a href="Crirc/Binding/Handler.html">Binding::Handler</a></code> allows a given <code><a href="Crirc/Controller.html">Controller</a></code> to respond to incoming transmissions.</li></ol> <h2> <a id="defined-in" class="anchor" href="#defined-in"> <svg class="octicon-link" aria-hidden="true"> <use href="#octicon-link"/> </svg> </a> Defined in: </h2> <a href="https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc.cr#L15" target="_blank"> crirc.cr </a> <br/> <a href="https://github.com/Meoowww/Crirc/blob/c21010a9d9d3ef9067b5610ec4cb4ea389fdc508/src/crirc/version.cr#L1" target="_blank"> crirc/version.cr </a> <br/> <h2> <a id="constant-summary" class="anchor" href="#constant-summary"> <svg class="octicon-link" aria-hidden="true"> <use href="#octicon-link"/> </svg> </a> Constant Summary </h2> <dl> <dt class="entry-const" id="VERSION"> <strong>VERSION</strong> = <code><span class="s">"0.4.0"</span></code> </dt> </dl> <div class="methods-inherited"> </div> </div> </body> </html>