public class WebClientSocketThread extends java.lang.Thread implements IWebServer
Modifier and Type | Class and Description |
---|---|
private class |
WebClientSocketThread.AckWaiter |
class |
WebClientSocketThread.WcstException |
Modifier and Type | Field and Description |
---|---|
private WebClientSocketThread.AckWaiter |
ackWaiter |
private java.nio.charset.Charset |
charset |
private static int |
counter |
private java.lang.String |
email |
private WebClientSocketThread.WcstException |
failedException |
private boolean |
force |
private java.util.HashMap<java.lang.String,GameInfo> |
gameHash |
private java.lang.String |
hostname |
private java.io.BufferedReader |
in |
private boolean |
loggedIn |
private static java.util.logging.Logger |
LOGGER |
private java.io.PrintWriter |
out |
private java.lang.String |
password |
private int |
port |
private static java.lang.String |
sep |
private java.net.Socket |
socket |
private boolean |
stillNeedsRun |
private java.lang.String |
username |
private IWebClient |
webClient |
Cancel, ChangePassword, ChatSubmit, ConfirmCommand, ConfirmRegistration, DumpInfo, Echo, Enroll, generalChatName, LocallyGameOver, Login, Logout, PingResponse, Propose, RegisterUser, RequestUserAttention, RereadLoginMessage, ShutdownServer, Start, StartAtPlayer, StartedByPlayer, Unenroll, WebProtocolSeparator
Constructor and Description |
---|
WebClientSocketThread(WebClient wcGUI,
java.lang.String hostname,
int port,
java.lang.String username,
java.lang.String password,
boolean force,
java.lang.String email,
java.lang.String confCode,
java.util.HashMap<java.lang.String,GameInfo> gameHash) |
Modifier and Type | Method and Description |
---|---|
void |
cancelGame(java.lang.String gameId,
java.lang.String byUser) |
java.lang.String |
changeProperties(java.lang.String username,
java.lang.String oldPW,
java.lang.String newPW,
java.lang.String email,
java.lang.Boolean isAdminObj) |
void |
chatSubmit(java.lang.String chatId,
java.lang.String sender,
java.lang.String message) |
private void |
confirm(java.lang.String confCode)
Send the confirmation code
|
void |
confirmCommand(java.lang.String cmd,
java.lang.String arg1,
java.lang.String arg2,
java.lang.String arg3) |
private void |
connect() |
void |
dispose() |
private void |
doCleanup() |
void |
dumpInfo() |
void |
enrollUserToGame(java.lang.String gameId,
java.lang.String username) |
WebClientSocketThread.WcstException |
getException() |
java.lang.String |
getOneLine() |
private void |
handleAckNack(java.lang.String command,
java.lang.String[] tokens) |
void |
informLocallyGameOver(java.lang.String gameId) |
void |
informStartedByPlayer(java.lang.String gameId) |
private void |
login() |
void |
logout() |
void |
pingResponse(java.lang.String arg1,
java.lang.String arg2,
java.lang.String arg3) |
GameInfo |
proposeGame(java.lang.String initiator,
java.lang.String variant,
java.lang.String viewmode,
long startAt,
int duration,
java.lang.String summary,
java.lang.String expire,
boolean unlimitedMulligans,
boolean balancedTowers,
int min,
int target,
int max) |
private void |
register()
Initial registration attempt
|
void |
requestUserAttention(long when,
java.lang.String sender,
boolean isAdmin,
java.lang.String recipient,
java.lang.String message,
int beepCount,
long beepInterval,
boolean windows) |
void |
rereadLoginMessage() |
private GameInfo |
restoreGameInfo(java.lang.String[] tokens) |
void |
run() |
private void |
send(java.lang.String s) |
void |
shutdownServer() |
void |
sleepFor(long millis) |
void |
startGame(java.lang.String gameId,
User byUser) |
void |
startGameOnPlayerHost(java.lang.String gameId,
java.lang.String hostingPlayer,
java.lang.String playerHost,
int port)
A game was started by a WebClient user locally on his computer
and is ready to accept the other players as remote client;
so we notify them and tell them host and port to where to connect.
|
boolean |
stillNeedsRun() |
void |
submitAnyText(java.lang.String text) |
void |
unenrollUserFromGame(java.lang.String gameId,
java.lang.String username) |
private void |
writeLog(java.lang.String s) |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
private static final java.util.logging.Logger LOGGER
private IWebClient webClient
private final java.util.HashMap<java.lang.String,GameInfo> gameHash
private java.lang.String hostname
private final int port
private java.lang.String username
private java.lang.String password
private boolean force
private java.lang.String email
private java.net.Socket socket
private java.io.BufferedReader in
private java.io.PrintWriter out
private boolean stillNeedsRun
private static final java.lang.String sep
private boolean loggedIn
private WebClientSocketThread.AckWaiter ackWaiter
private WebClientSocketThread.WcstException failedException
private static int counter
private final java.nio.charset.Charset charset
public java.lang.String getOneLine() throws java.io.IOException
java.io.IOException
public WebClientSocketThread.WcstException getException()
private void connect() throws WebClientSocketThread.WcstException
private void register() throws WebClientSocketThread.WcstException
private void confirm(java.lang.String confCode) throws WebClientSocketThread.WcstException
private void login() throws WebClientSocketThread.WcstException
public boolean stillNeedsRun()
public void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
private GameInfo restoreGameInfo(java.lang.String[] tokens)
private void doCleanup()
public void dispose()
private void send(java.lang.String s)
public void logout()
logout
in interface IWebServer
public java.lang.String changeProperties(java.lang.String username, java.lang.String oldPW, java.lang.String newPW, java.lang.String email, java.lang.Boolean isAdminObj)
changeProperties
in interface IWebServer
private void handleAckNack(java.lang.String command, java.lang.String[] tokens)
public GameInfo proposeGame(java.lang.String initiator, java.lang.String variant, java.lang.String viewmode, long startAt, int duration, java.lang.String summary, java.lang.String expire, boolean unlimitedMulligans, boolean balancedTowers, int min, int target, int max)
proposeGame
in interface IWebServer
public void enrollUserToGame(java.lang.String gameId, java.lang.String username)
enrollUserToGame
in interface IWebServer
public void unenrollUserFromGame(java.lang.String gameId, java.lang.String username)
unenrollUserFromGame
in interface IWebServer
public void cancelGame(java.lang.String gameId, java.lang.String byUser)
cancelGame
in interface IWebServer
public void startGame(java.lang.String gameId, User byUser)
startGame
in interface IWebServer
public void informStartedByPlayer(java.lang.String gameId)
informStartedByPlayer
in interface IWebServer
public void informLocallyGameOver(java.lang.String gameId)
informLocallyGameOver
in interface IWebServer
public void startGameOnPlayerHost(java.lang.String gameId, java.lang.String hostingPlayer, java.lang.String playerHost, int port)
IWebServer
startGameOnPlayerHost
in interface IWebServer
public void chatSubmit(java.lang.String chatId, java.lang.String sender, java.lang.String message)
chatSubmit
in interface IWebServer
public void pingResponse(java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
public void sleepFor(long millis)
public void confirmCommand(java.lang.String cmd, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
public void requestUserAttention(long when, java.lang.String sender, boolean isAdmin, java.lang.String recipient, java.lang.String message, int beepCount, long beepInterval, boolean windows)
requestUserAttention
in interface IWebServer
public void shutdownServer()
shutdownServer
in interface IWebServer
public void rereadLoginMessage()
rereadLoginMessage
in interface IWebServer
public void dumpInfo()
dumpInfo
in interface IWebServer
public void submitAnyText(java.lang.String text)
private void writeLog(java.lang.String s)