Class Irc::IrcSocket
In: lib/rbot/ircsocket.rb
Parent: Object

wrapped TCPSocket for communication with the server. emulates a subset of TCPSocket functionality

Methods

Attributes

bytes_per  [R]  byterate components
bytes_received  [R]  total number of bytes received from the irc server
bytes_sent  [R]  total number of bytes sent to the irc server
lines_received  [R]  total number of lines received from the irc server
lines_sent  [R]  total number of lines sent to the irc server
seconds_per  [R] 
sendq_burst  [R]  max lines to burst
sendq_delay  [R]  delay between lines sent
throttle_bytes  [R]  accumulator for the throttle

Public Class methods

server:server to connect to
port:IRCd port
host:optional local host to bind to (ruby 1.7+ required)

create a new IrcSocket

Public Instance methods

open a TCP connection to the server

used to send lines to the remote IRCd by skipping the queue message: IRC message to send it should only be used for stuff that *must not* be queued, i.e. the initial PASS, NICK and USER command or the final QUIT message

flush the TCPSocket

get the next line from the server (blocks)

Wraps Kernel.select on the socket

shutdown the connection to the server

pop a message off the queue, send it

Private Instance methods

same as puts, but expects to be called with a mutex held on @qmutex

[Validate]