network logging + client network timing work
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2025-05-29 21:55:17 -04:00
parent 5c5ba32df7
commit 63ed9fc06d
4 changed files with 23 additions and 10 deletions

View File

@ -278,6 +278,7 @@ public class ClientNetworking implements Runnable {
//attempt poll incoming messages
long readStart = System.currentTimeMillis();
try {
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Try to read messages in");
parser.readMessagesIn();
} catch (IOException e) {
LoggerInterface.loggerNetworking.ERROR(e);
@ -291,6 +292,7 @@ public class ClientNetworking implements Runnable {
//
//outgoing messages
try {
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Try to write messages out");
parser.pushMessagesOut();
} catch(IOException e){
LoggerInterface.loggerNetworking.ERROR(e);
@ -301,6 +303,7 @@ public class ClientNetworking implements Runnable {
//
//parses messages asynchronously
LoggerInterface.loggerNetworking.DEBUG_LOOP("[CLIENT] Parse asynchronous messages");
boolean foundMessages = this.parseMessagesAsynchronously();
@ -333,6 +336,13 @@ public class ClientNetworking implements Runnable {
//TODO: kick us back to the main menu
break;
}
try {
//sleep
TimeUnit.MILLISECONDS.sleep(1);
} catch (InterruptedException ex) {
//silently ignore
// CodeUtils.todo(ex, "Handle sleep interrupt on server connection");
}
}
if(this.socket != null){

View File

@ -18,6 +18,7 @@ public class AuthProtocol implements ClientProtocolTemplate<AuthMessage> {
case AUTHREQUEST: {
//Try login
Globals.clientState.clientConnection.queueOutgoingMessage(AuthMessage.constructAuthDetailsMessage(Globals.clientState.clientUsername,Globals.clientState.clientPassword));
LoggerInterface.loggerNetworking.INFO("[CLIENT] Received auth request");
} break;
case AUTHSUCCESS: {
//clean password hash from memory
@ -27,11 +28,11 @@ public class AuthProtocol implements ClientProtocolTemplate<AuthMessage> {
//request characters available to this player
Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage());
//log that we succeeded
LoggerInterface.loggerAuth.INFO("Successfully logged in");
LoggerInterface.loggerNetworking.INFO("[CLIENT] Successfully logged in");
} break;
case AUTHFAILURE: {
//TODO: handle better
LoggerInterface.loggerAuth.ERROR("Auth failure",new Exception("Auth failure"));
LoggerInterface.loggerNetworking.ERROR("Auth failure",new Exception("Auth failure"));
} break;
//ignore stack
case AUTHDETAILS: {

View File

@ -238,6 +238,7 @@ public class ServerConnectionHandler implements Runnable {
//
//parse messages both incoming and outgoing
try {
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to read messages in");
receivedMessageThisLoop = this.parseMessages();
} catch (SocketException e) {
//if we get a SocketException broken pipe (basically the client dc'd without telling us)
@ -320,6 +321,7 @@ public class ServerConnectionHandler implements Runnable {
//Read in messages
//
//attempt poll incoming messages
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to read messages in");
networkParser.readMessagesIn();
rVal = networkParser.hasIncomingMessaage();
@ -342,6 +344,7 @@ public class ServerConnectionHandler implements Runnable {
//
//ponder incoming messages
while(networkParser.hasIncomingMessaage()){
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Handle async messages");
NetworkMessage message = networkParser.popIncomingMessage();
this.messageProtocol.handleAsyncMessage(message);
}
@ -363,6 +366,7 @@ public class ServerConnectionHandler implements Runnable {
//Send out messages
//
//push outgoing message
LoggerInterface.loggerNetworking.DEBUG_LOOP("[SERVER] Try to write messages out");
networkParser.pushMessagesOut();
try {
//sleep

View File

@ -3,6 +3,7 @@ package electrosphere.net.server.protocol;
import electrosphere.auth.AuthenticationManager;
import electrosphere.engine.EngineState;
import electrosphere.engine.Globals;
import electrosphere.logger.LoggerInterface;
import electrosphere.net.parser.net.message.AuthMessage;
import electrosphere.net.parser.net.message.PlayerMessage;
import electrosphere.net.server.ServerConnectionHandler;
@ -17,7 +18,7 @@ public class AuthProtocol implements ServerProtocolTemplate<AuthMessage> {
@Override
public AuthMessage handleAsyncMessage(ServerConnectionHandler connectionHandler, AuthMessage message) {
switch(message.getMessageSubtype()){
case AUTHDETAILS:
case AUTHDETAILS: {
//auth check
int loginId = Globals.authenticationManager.authenticate(message.getuser(), message.getpass());
if(loginId != AuthenticationManager.INVALID_LOGIN){
@ -33,16 +34,13 @@ public class AuthProtocol implements ServerProtocolTemplate<AuthMessage> {
} else {
connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthFailureMessage());
}
break;
LoggerInterface.loggerNetworking.INFO("[SERVER] Received auth details");
} break;
case AUTHREQUEST:
//silently drop
break;
case AUTHSUCCESS:
case AUTHFAILURE: {
//silently drop
break;
case AUTHFAILURE:
//silently drop
break;
} break;
}
return null;
}