Адаптер сервера и смена ореинтации отмены событий (теперь адаптер должен вернуть true чтобы продолжить обработку пакета и false если пакет обрабатывать не нужно)

This commit is contained in:
RoyceDa
2026-02-02 22:48:38 +02:00
parent bb01add104
commit 07379beca1
3 changed files with 51 additions and 15 deletions

View File

@@ -0,0 +1,36 @@
package com.rosetta.im;
import io.orprotocol.Server;
import io.orprotocol.ServerListener;
import io.orprotocol.client.Client;
import io.orprotocol.packet.Packet;
public class ServerAdapter implements ServerListener {
@Override
public void onServerStart(Server server) {}
@Override
public void onServerStop(Server server) {}
@Override
public boolean onClientConnect(Server server, Client client) {
return true;
}
@Override
public void onClientDisconnect(Server server, Client client) {}
@Override
public void onError(Server server, Exception exception) {
System.out.println("Server error: " + exception.getMessage());
}
@Override
public boolean onPacketReceived(Server server, Client client, Packet packet) {
return true;
}
}

View File

@@ -130,9 +130,9 @@ public class Server extends WebSocketServer {
PacketExecutor executor = executorClass.getConstructor().newInstance(); PacketExecutor executor = executorClass.getConstructor().newInstance();
executor.settings = this.settings; executor.settings = this.settings;
executor.context = this.context; executor.context = this.context;
if(listener != null && listener.onPacketReceived(this, client, packet)) { if(listener != null && !listener.onPacketReceived(this, client, packet)) {
/** /**
* Если слушатель сервера вернул true, пакет не обрабатываем. * Если слушатель сервера вернул false, пакет не обрабатываем.
*/ */
return; return;
} }
@@ -155,7 +155,7 @@ public class Server extends WebSocketServer {
if(this.listener == null){ if(this.listener == null){
return; return;
} }
if(this.listener.onClientConnect(this, client)) { if(!this.listener.onClientConnect(this, client)) {
client.disconnect(ServerFailures.SERVER_NOT_ACCEPT_CLIENT); client.disconnect(ServerFailures.SERVER_NOT_ACCEPT_CLIENT);
return; return;
} }

View File

@@ -6,19 +6,19 @@ import io.orprotocol.packet.Packet;
public interface ServerListener { public interface ServerListener {
/** /**
* Сервер запущен * Сервер запущен
* @param server * @param server сервер
*/ */
void onServerStart(Server server); void onServerStart(Server server);
/** /**
* Сервер остановлен * Сервер остановлен
* @param server * @param server сервер
*/ */
void onServerStop(Server server); void onServerStop(Server server);
/** /**
* Клиент подключился * Клиент подключился, вернуть false чтобы отклонить подключение
* @param server * @param server сервер
* @param client * @param client клиент
* @return если возвращено true значит клиент не будет подключен к серверу выбросится * @return если возвращено false значит клиент не будет подключен к серверу выбросится
* ошибка SERVER_NOT_ACCEPT_CLIENT * ошибка SERVER_NOT_ACCEPT_CLIENT
*/ */
boolean onClientConnect(Server server, Client client); boolean onClientConnect(Server server, Client client);
@@ -30,16 +30,16 @@ public interface ServerListener {
void onClientDisconnect(Server server, Client client); void onClientDisconnect(Server server, Client client);
/** /**
* Произошла ошибка сервера * Произошла ошибка сервера
* @param server * @param server сервер
* @param exception * @param exception исключение
*/ */
void onError(Server server, Exception exception); void onError(Server server, Exception exception);
/** /**
* Пакет получен от клиента * Пакет получен от клиента
* @param server * @param server сервер
* @param client * @param client клиент
* @param packet * @param packet пакет
* @return если возвращено true значит пакет не будет обработан дальше * @return если возвращено false значит пакет не будет обработан дальше
*/ */
boolean onPacketReceived(Server server, Client client, Packet packet); boolean onPacketReceived(Server server, Client client, Packet packet);
} }