|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.lang.Thread
|
+--irssibot.core.ServerConnection
Represents a connection to an IRC server.
| Field Summary | |
private Host |
botHost
|
private long |
bytesRead
Number of bytes read from the server |
private long |
bytesWritten
Number of bytes written to server |
private java.util.Vector |
channelConnects
|
private long |
channelRejoinTime
|
private java.util.Hashtable |
channels
|
private boolean |
connectionAlive
|
private boolean |
connectionReady
|
private boolean |
continueConnecting
|
private Core |
core
|
private java.lang.String |
currentServer
|
private int |
currentServerIndex
|
private java.lang.String |
errorMsg
|
private ServerInstanceData |
instanceData
|
private long |
lastSaveTime
|
private static java.lang.String |
moduleName
|
private long |
nickRegainTime
|
private OutputQueue |
outputQueue
|
private java.lang.String |
serverChannelModes
|
private java.io.BufferedInputStream |
serverIn
|
private java.io.BufferedReader |
serverInReader
|
private java.io.BufferedOutputStream |
serverOut
|
private java.lang.String |
serverUserModes
|
private java.net.Socket |
socket
|
private java.lang.String |
statusString
|
private boolean |
useAltNick
|
private boolean |
userDataChanged
|
private java.util.Vector |
users
|
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
ServerConnection(ServerInstanceData instanceData,
Core core)
Constructs. |
|
| Method Summary | |
boolean |
addChannel(java.lang.String channelName,
java.lang.String channelKey)
Adds a channel to bots channels hash and makes bot join the channel. |
java.lang.String |
addChannelConnect(java.lang.String sourceChannel,
ServerConnection destinationNetwork,
java.lang.String destinationChannel)
Adds a channel connect. |
void |
addUser(User user)
|
void |
channelBroadcast(java.lang.String message)
Broadcasts a message to all channels. |
private void |
connect(java.lang.String addr)
Attempts to connect to an irc server. |
boolean |
delChannel(Channel channel)
Removes a named channel from bots channels hash and makes the bot leave the channel. |
boolean |
delUser(User user)
Deletes a user from bots user record. |
void |
doMaintain()
Calls doMaintain() for all channels |
private void |
doUserHost(IrcMessage message)
Handle RPL_USERHOST reply message: Finish up connecting Parse bot host from message Join channels |
Channel |
findChannel(java.lang.String name)
finds a Channel matching given name or null if not found |
private User |
findMatchingUser(Host host)
finds a user matching given host in bot's user record. |
User |
findUser(Host host)
Finds a User by host. |
User |
findUser(java.lang.String name)
Finds a User by exact (in-casesensitive) name. |
java.util.Vector |
getChannelConnects()
|
java.util.Hashtable |
getChannels()
|
java.lang.String |
getConnectionStatus()
|
Host |
getHost()
|
ServerInstanceData |
getInstanceData()
|
ModuleHandler |
getModuleHandler()
|
OutputQueue |
getOutputQueue()
|
java.lang.String |
getServerChannelModes()
Returns the allowed channel modes for the current server. |
java.lang.String |
getTrafficInfo()
Returns an info string describing server traffic statistics. |
java.util.Vector |
getUsers()
|
java.lang.String |
getXML()
Returns XML representation of this server connection to be written to configuration file. |
void |
notifyUserDataChanged()
Notifies ServerConnection that its user data has been changed and it should rewrite the user file soon. |
private void |
processNick(IrcMessage message)
Forwards a NICK message to all channels and handles changes to own nick. |
private void |
processPrivmsg(IrcMessage message)
Processes PRIVMSGs to either a channel or to bot himself. |
private void |
processQuit(IrcMessage message)
Forwards a QUIT message to all channels. |
private void |
processServerMessage(IrcMessage message)
Processes message from server. |
void |
quit(java.lang.String quitMessage)
QUIT from IRC server and finish execution. |
void |
removeChannelConnects()
Removes all channel connects |
void |
run()
run() |
private void |
setStatusString(java.lang.String statusString)
Sets the ServerConnection's status string. |
java.lang.String |
toString()
|
void |
write(java.lang.String str)
Write bytes/string to server. |
void |
writeUserFile()
Writes user file to disk. |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private static java.lang.String moduleName
private Core core
private java.io.BufferedInputStream serverIn
private java.io.BufferedReader serverInReader
private java.io.BufferedOutputStream serverOut
private java.net.Socket socket
private java.lang.String errorMsg
private java.lang.String statusString
private boolean connectionAlive
private boolean continueConnecting
private ServerInstanceData instanceData
private java.util.Vector users
private java.util.Vector channelConnects
private java.util.Hashtable channels
private Host botHost
private OutputQueue outputQueue
private java.lang.String serverUserModes
private java.lang.String serverChannelModes
private java.lang.String currentServer
private int currentServerIndex
private boolean useAltNick
private long lastSaveTime
private boolean userDataChanged
private boolean connectionReady
private long nickRegainTime
private long channelRejoinTime
private long bytesRead
private long bytesWritten
| Constructor Detail |
public ServerConnection(ServerInstanceData instanceData,
Core core)
instanceData - instance data from configuration filecore - reference to bot core object| Method Detail |
public java.lang.String getServerChannelModes()
public java.lang.String toString()
toString in class java.lang.Threadpublic java.util.Vector getUsers()
public ServerInstanceData getInstanceData()
public java.lang.String getConnectionStatus()
public java.util.Hashtable getChannels()
public Host getHost()
public java.util.Vector getChannelConnects()
public ModuleHandler getModuleHandler()
public OutputQueue getOutputQueue()
public void addUser(User user)
public java.lang.String getTrafficInfo()
public boolean delUser(User user)
user - user to delete
public void channelBroadcast(java.lang.String message)
message - message to broadcast
public java.lang.String addChannelConnect(java.lang.String sourceChannel,
ServerConnection destinationNetwork,
java.lang.String destinationChannel)
sourceChannel - channel to forward fromdestinationNetwork - network (ServerConnection) to forward todestinationChannel - channel on destination network to forward to
public void removeChannelConnects()
public User findUser(java.lang.String name)
name - name of user as specified in config file / bots user record.
public User findUser(Host host)
host - host
User.isLoggedIn()private User findMatchingUser(Host host)
host - host
User.isLoggedIn()public Channel findChannel(java.lang.String name)
name - name of channel
private void connect(java.lang.String addr)
private void setStatusString(java.lang.String statusString)
private void doUserHost(IrcMessage message)
message - the RPL_USERHOST messagepublic java.lang.String getXML()
public void run()
run in interface java.lang.Runnablerun in class java.lang.Threadprivate void processServerMessage(IrcMessage message)
message - message to be processedprivate void processPrivmsg(IrcMessage message)
message - messageprivate void processNick(IrcMessage message)
message - message to sendprivate void processQuit(IrcMessage message)
message - message to send
public boolean addChannel(java.lang.String channelName,
java.lang.String channelKey)
channelName - name of channelchannelKey - channel key to use
public boolean delChannel(Channel channel)
channel - Channel object of channel to remove
public void quit(java.lang.String quitMessage)
quitMessage - message to send to IRC server as quit messagepublic void doMaintain()
public void notifyUserDataChanged()
public void writeUserFile()
public void write(java.lang.String str)
str - string to write
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||