git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mode change
[nikiroo-utils.git]
/
src
/
be
/
nikiroo
/
utils
/
serial
/
server
/
ServerString.java
diff --git
a/src/be/nikiroo/utils/serial/server/ServerString.java
b/src/be/nikiroo/utils/serial/server/ServerString.java
index 89a7b28c6042418be95348191ad79794adb826fe..6fe4ad0df1a6aeb4d37aaba4de6a5f5bdf1ce306 100644
(file)
--- a/
src/be/nikiroo/utils/serial/server/ServerString.java
+++ b/
src/be/nikiroo/utils/serial/server/ServerString.java
@@
-4,8
+4,6
@@
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.net.Socket;
import java.net.UnknownHostException;
-import be.nikiroo.utils.Version;
-
/**
* This class implements a simple server that can listen for connections and
* send/receive Strings.
/**
* This class implements a simple server that can listen for connections and
* send/receive Strings.
@@
-24,8
+22,9
@@
abstract public class ServerString extends Server {
* the port to listen on, or 0 to assign any unallocated port
* found (which can later on be queried via
* {@link ServerString#getPort()}
* the port to listen on, or 0 to assign any unallocated port
* found (which can later on be queried via
* {@link ServerString#getPort()}
- * @param ssl
- * use a SSL connection (or not)
+ * @param key
+ * an optional key to encrypt all the communications (if NULL,
+ * everything will be sent in clear text)
*
* @throws IOException
* in case of I/O error
*
* @throws IOException
* in case of I/O error
@@
-35,8
+34,8
@@
abstract public class ServerString extends Server {
* if the port parameter is outside the specified range of valid
* port values, which is between 0 and 65535, inclusive
*/
* if the port parameter is outside the specified range of valid
* port values, which is between 0 and 65535, inclusive
*/
- public ServerString(int port,
boolean ssl
) throws IOException {
- super(port,
ssl
);
+ public ServerString(int port,
String key
) throws IOException {
+ super(port,
key
);
}
/**
}
/**
@@
-47,8
+46,9
@@
abstract public class ServerString extends Server {
* the server name (only used for debug info and traces)
* @param port
* the port to listen on
* the server name (only used for debug info and traces)
* @param port
* the port to listen on
- * @param ssl
- * use a SSL connection (or not)
+ * @param key
+ * an optional key to encrypt all the communications (if NULL,
+ * everything will be sent in clear text)
*
* @throws IOException
* in case of I/O error
*
* @throws IOException
* in case of I/O error
@@
-58,19
+58,20
@@
abstract public class ServerString extends Server {
* if the port parameter is outside the specified range of valid
* port values, which is between 0 and 65535, inclusive
*/
* if the port parameter is outside the specified range of valid
* port values, which is between 0 and 65535, inclusive
*/
- public ServerString(String name, int port,
boolean ssl
) throws IOException {
- super(name, port,
ssl
);
+ public ServerString(String name, int port,
String key
) throws IOException {
+ super(name, port,
key
);
}
@Override
protected ConnectActionServer createConnectActionServer(Socket s) {
}
@Override
protected ConnectActionServer createConnectActionServer(Socket s) {
- return new ConnectActionServerString(s) {
+ return new ConnectActionServerString(s
, key
) {
@Override
@Override
- public void action(Version clientVersion) throws Exception {
+ public void action() throws Exception {
+ long id = getNextId();
for (String data = rec(); data != null; data = rec()) {
String rep = null;
try {
for (String data = rec(); data != null; data = rec()) {
String rep = null;
try {
- rep = onRequest(this,
clientVersion, data
);
+ rep = onRequest(this,
data, id
);
if (isClosing()) {
return;
}
if (isClosing()) {
return;
}
@@
-81,9
+82,10
@@
abstract public class ServerString extends Server {
if (rep == null) {
rep = "";
}
if (rep == null) {
rep = "";
}
-
send(rep);
}
send(rep);
}
+
+ onRequestDone(id, getBytesReceived(), getBytesSent());
}
@Override
}
@Override
@@
-101,10
+103,11
@@
abstract public class ServerString extends Server {
*
* @param action
* the client action
*
* @param action
* the client action
- * @param clientVersion
- * the client version
* @param data
* the data sent by the client
* @param data
* the data sent by the client
+ * @param id
+ * an ID to identify this request (will also be re-used for
+ * {@link ServerObject#onRequestDone(long, long, long)}.
*
* @return the answer to return to the client
*
*
* @return the answer to return to the client
*
@@
-112,5
+115,5
@@
abstract public class ServerString extends Server {
* in case of an exception, the error will only be logged
*/
abstract protected String onRequest(ConnectActionServerString action,
* in case of an exception, the error will only be logged
*/
abstract protected String onRequest(ConnectActionServerString action,
-
Version clientVersion, String data
) throws Exception;
+
String data, long id
) throws Exception;
}
}