protected ConnectAction action;
/**
- * Create a new {@link ConnectActionServer} with the current application
- * version (see {@link Version#getCurrentVersion()}) as the server version.
+ * Create a new {@link ConnectActionServer}, using the current version.
*
* @param s
* the socket to bind to
+ * @param key
+ * an optional key to encrypt all the communications (if NULL,
+ * everything will be sent in clear text)
*/
- public ConnectActionServer(Socket s) {
- this(s, Version.getCurrentVersion());
+ public ConnectActionServer(Socket s, String key) {
+ this(s, key, Version.getCurrentVersion());
}
/**
*
* @param s
* the socket to bind to
- * @param version
- * the server version
+ * @param key
+ * an optional key to encrypt all the communications (if NULL,
+ * everything will be sent in clear text)
+ * @param serverVersion
+ * the version of this server,that will be sent to the client
*/
- public ConnectActionServer(Socket s, Version version) {
- action = new ConnectAction(s, true, version) {
+ public ConnectActionServer(Socket s, String key, Version serverVersion) {
+ action = new ConnectAction(s, true, key, serverVersion) {
@Override
protected void action(Version clientVersion) throws Exception {
ConnectActionServer.this.action(clientVersion);
* <p>
* Example of usage: the client failed an authentication check, cut the
* connection here and now.
+ *
+ * @return TRUE when it is
*/
public boolean isClosing() {
return closing;
* @return the amount of bytes sent
*/
public long getBytesSent() {
- return action.getBytesSent();
+ return action.getBytesWritten();
}
/**
* Method that will be called when an action is performed on the server.
*
* @param clientVersion
- * the client version
+ * the version of the client connected to this server
*
* @throws Exception
* in case of I/O error