Статусы онлайн/оффлайн и подписки на них
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
package com.rosetta.im;
|
||||
|
||||
import com.rosetta.im.client.ClientManager;
|
||||
import com.rosetta.im.client.OnlineManager;
|
||||
import com.rosetta.im.event.EventManager;
|
||||
import com.rosetta.im.executors.Executor0Handshake;
|
||||
import com.rosetta.im.executors.Executor1UserInfo;
|
||||
import com.rosetta.im.executors.Executor3Search;
|
||||
import com.rosetta.im.executors.Executor4OnlineState;
|
||||
import com.rosetta.im.listeners.HandshakeCompleteListener;
|
||||
import com.rosetta.im.listeners.OnlineStatusDisconnectListener;
|
||||
import com.rosetta.im.listeners.OnlineStatusHandshakeCompleteListener;
|
||||
import com.rosetta.im.listeners.ServerStopListener;
|
||||
import com.rosetta.im.logger.Logger;
|
||||
import com.rosetta.im.logger.enums.Color;
|
||||
@@ -14,6 +18,8 @@ import com.rosetta.im.packet.Packet0Handshake;
|
||||
import com.rosetta.im.packet.Packet1UserInfo;
|
||||
import com.rosetta.im.packet.Packet2Result;
|
||||
import com.rosetta.im.packet.Packet3Search;
|
||||
import com.rosetta.im.packet.Packet4OnlineSubscribe;
|
||||
import com.rosetta.im.packet.Packet5OnlineState;
|
||||
|
||||
import io.orprotocol.Server;
|
||||
import io.orprotocol.Settings;
|
||||
@@ -31,10 +37,12 @@ public class Boot {
|
||||
private Server server;
|
||||
private ServerAdapter serverAdapter;
|
||||
private ClientManager clientManager;
|
||||
private OnlineManager onlineManager;
|
||||
|
||||
public Boot() {
|
||||
this.packetManager = new PacketManager();
|
||||
this.eventManager = new EventManager();
|
||||
this.onlineManager = new OnlineManager();
|
||||
this.logger = new Logger(LogLevel.INFO);
|
||||
this.serverAdapter = new ServerAdapter(this.eventManager);
|
||||
this.server = new Server(new Settings(
|
||||
@@ -92,6 +100,8 @@ public class Boot {
|
||||
private void registerAllEvents() {
|
||||
this.eventManager.registerListener(new ServerStopListener(this.logger));
|
||||
this.eventManager.registerListener(new HandshakeCompleteListener());
|
||||
this.eventManager.registerListener(new OnlineStatusHandshakeCompleteListener(this.onlineManager));
|
||||
this.eventManager.registerListener(new OnlineStatusDisconnectListener(this.onlineManager));
|
||||
}
|
||||
|
||||
private void registerAllPackets() {
|
||||
@@ -99,12 +109,15 @@ public class Boot {
|
||||
this.packetManager.registerPacket(1, Packet1UserInfo.class);
|
||||
this.packetManager.registerPacket(2, Packet2Result.class);
|
||||
this.packetManager.registerPacket(3, Packet3Search.class);
|
||||
this.packetManager.registerPacket(4, Packet4OnlineSubscribe.class);
|
||||
this.packetManager.registerPacket(5, Packet5OnlineState.class);
|
||||
}
|
||||
|
||||
private void registerAllExecutors() {
|
||||
this.packetManager.registerExecutor(0, new Executor0Handshake(this.eventManager));
|
||||
this.packetManager.registerExecutor(1, new Executor1UserInfo());
|
||||
this.packetManager.registerExecutor(3, new Executor3Search(this.clientManager));
|
||||
this.packetManager.registerExecutor(4, new Executor4OnlineState(this.onlineManager));
|
||||
}
|
||||
|
||||
private void printBootMessage() {
|
||||
|
||||
Reference in New Issue
Block a user