Skip to content

Commit

Permalink
feat: improve send/disconnect failover behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
Ingrim4 committed Jun 24, 2024
1 parent 47bcd53 commit d432e76
Show file tree
Hide file tree
Showing 11 changed files with 298 additions and 902 deletions.

This file was deleted.

266 changes: 0 additions & 266 deletions src/main/java/com/comphenix/protocol/concurrency/BlockingHashMap.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ public void sendServerPacket(Player receiver, PacketContainer packet, NetworkMar
}

// process outbound
this.networkManagerInjector.getInjector(receiver).sendServerPacket(packet.getHandle(), marker, filters);
this.networkManagerInjector.getInjector(receiver).sendClientboundPacket(packet.getHandle(), marker, filters);
}
}

Expand Down Expand Up @@ -227,7 +227,7 @@ public void receiveClientPacket(Player sender, PacketContainer packet, NetworkMa
}

// post to the player inject, reset our cancel state change
this.networkManagerInjector.getInjector(sender).receiveClientPacket(nmsPacket);
this.networkManagerInjector.getInjector(sender).readServerboundPacket(nmsPacket);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
public interface Injector {

SocketAddress getAddress();

/**
* Retrieve the current protocol version of the player.
*
Expand All @@ -41,12 +43,14 @@ public interface Injector {
* @param marker - the network marker.
* @param filtered - whether or not the packet is filtered.
*/
void sendServerPacket(Object packet, NetworkMarker marker, boolean filtered);
void sendClientboundPacket(Object packet, NetworkMarker marker, boolean filtered);

void receiveClientPacket(Object packet);
void readServerboundPacket(Object packet);

void sendWirePacket(WirePacket packet);

void disconnect(String message);

/**
* Retrieve the current protocol state. Note that since 1.20.2 the client and server direction can be in different
* protocol states.
Expand All @@ -56,8 +60,6 @@ public interface Injector {
*/
Protocol getCurrentProtocol(PacketType.Sender sender);

SocketAddress getAddress();

/**
* Retrieve the current player or temporary player associated with the injector.
*
Expand All @@ -72,8 +74,6 @@ public interface Injector {
*/
void setPlayer(Player player);

void disconnect(String message);

boolean isConnected();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,21 @@ public void close() {
}

@Override
public void sendServerPacket(Object packet, NetworkMarker marker, boolean filtered) {
public void sendClientboundPacket(Object packet, NetworkMarker marker, boolean filtered) {
}

@Override
public void receiveClientPacket(Object packet) {
public void readServerboundPacket(Object packet) {
}

@Override
public void sendWirePacket(WirePacket packet) {
}

@Override
public void disconnect(String message) {
}

@Override
public Protocol getCurrentProtocol(PacketType.Sender sender) {
return Protocol.HANDSHAKING;
Expand All @@ -68,10 +72,6 @@ public void setPlayer(Player player) {
this.player = player;
}

@Override
public void disconnect(String message) {
}

@Override
public boolean isConnected() {
return false;
Expand Down
Loading

0 comments on commit d432e76

Please sign in to comment.