summaryrefslogtreecommitdiff
path: root/sources/protocols/VSAbstractProtocol.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/protocols/VSAbstractProtocol.java')
-rw-r--r--sources/protocols/VSAbstractProtocol.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/sources/protocols/VSAbstractProtocol.java b/sources/protocols/VSAbstractProtocol.java
index 30e664c..9999f62 100644
--- a/sources/protocols/VSAbstractProtocol.java
+++ b/sources/protocols/VSAbstractProtocol.java
@@ -54,6 +54,12 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
/** The protocol object is a client. */
private boolean isClient;
+ /** The protocol object server is initialized. */
+ private boolean isServerInitialized;
+
+ /** The protocol object client is initialized. */
+ private boolean isClientInitialized;
+
/** The current protocol object's context is a server. */
private boolean currentContextIsServer;
@@ -105,11 +111,15 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
if (hasOnServerStart) {
if (isServer) {
currentContextIsServer(true);
+ if (!isServerInitialized)
+ onInit();
onServerStart();
}
} else {
if (isClient) {
currentContextIsServer(false);
+ if (!isClientInitialized)
+ onInit();
onClientStart();
}
}
@@ -122,11 +132,13 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
if (isClient) {
currentContextIsServer(false);
onClientInit();
+ isClientInitialized = true;
}
if (isServer) {
currentContextIsServer(true);
onServerInit();
+ isServerInitialized = true;
}
}
@@ -161,11 +173,15 @@ abstract public class VSAbstractProtocol extends VSAbstractEvent {
if (isServer) {
currentContextIsServer(true);
+ if (!isServerInitialized)
+ onInit();
onServerRecv(message);
}
if (isClient) {
currentContextIsServer(false);
+ if (!isClientInitialized)
+ onInit();
onClientRecv(message);
}
}