From 143bfca0482fbc24c19555e4e3523a85e7639717 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Fri, 26 Jun 2020 13:31:47 -0700 Subject: [PATCH] Changed signature of PacketSender functions and prepended InetSocketAddress parameter for target --- core/src/com/riiablo/net/PacketSender.java | 5 +++-- .../com/riiablo/net/reliable/ReliableEndpoint.java | 11 ++++++----- core/src/com/riiablo/net/tcp/TcpEndpoint.java | 8 +++++--- .../src/com/riiablo/net/reliable/TestClient.java | 4 ++-- server/netty/src/com/riiablo/net/tcp/TestClient.java | 2 +- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/core/src/com/riiablo/net/PacketSender.java b/core/src/com/riiablo/net/PacketSender.java index c4151d2b..7fad0bb8 100644 --- a/core/src/com/riiablo/net/PacketSender.java +++ b/core/src/com/riiablo/net/PacketSender.java @@ -1,10 +1,11 @@ package com.riiablo.net; import io.netty.channel.Channel; +import java.net.InetSocketAddress; import java.nio.ByteBuffer; public interface PacketSender { Channel channel(); - void sendMessage(ByteBuffer bb); - void sendMessage(T qos, ByteBuffer bb); + void sendMessage(InetSocketAddress to, ByteBuffer bb); + void sendMessage(InetSocketAddress to, T qos, ByteBuffer bb); } diff --git a/core/src/com/riiablo/net/reliable/ReliableEndpoint.java b/core/src/com/riiablo/net/reliable/ReliableEndpoint.java index ad1b0d35..52dd00b1 100644 --- a/core/src/com/riiablo/net/reliable/ReliableEndpoint.java +++ b/core/src/com/riiablo/net/reliable/ReliableEndpoint.java @@ -6,6 +6,7 @@ import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.socket.DatagramChannel; import io.netty.channel.socket.DatagramPacket; +import java.net.InetSocketAddress; import java.nio.ByteBuffer; import org.apache.commons.lang3.Validate; @@ -73,21 +74,21 @@ public class ReliableEndpoint implements Endpoint, MessageChanne } @Override - public void sendMessage(ByteBuffer bb) { + public void sendMessage(InetSocketAddress to, ByteBuffer bb) { if (DEBUG_SEND) Log.debug(TAG, "sendMessage (auto)"); - sendMessage(QoS.Reliable, bb); + sendMessage(to, QoS.Reliable, bb); } @Override - public void sendMessage(Object qos, ByteBuffer bb) { + public void sendMessage(InetSocketAddress to, Object qos, ByteBuffer bb) { if (DEBUG_SEND) Log.debug(TAG, "sendMessage"); assert qos instanceof QoS; if (DEBUG_QOS) Log.debug(TAG, "sending message with %s QoS (0x%02x)", qos, ((QoS) qos).ordinal()); int channelId = defaultChannels.get((QoS) qos); - sendMessage(channelId, bb); + sendMessage(to, channelId, bb); } - public void sendMessage(int channelId, ByteBuffer bb) { + public void sendMessage(InetSocketAddress to, int channelId, ByteBuffer bb) { if (DEBUG_SEND) Log.debug(TAG, "sendMessage"); Validate.inclusiveBetween(0x00, 0xFF, channelId, "channelId must fit within a ubyte"); if (DEBUG_CHANNEL) Log.debug(TAG, "sending message on channel %d", channelId); diff --git a/core/src/com/riiablo/net/tcp/TcpEndpoint.java b/core/src/com/riiablo/net/tcp/TcpEndpoint.java index 1de18783..bc286b10 100644 --- a/core/src/com/riiablo/net/tcp/TcpEndpoint.java +++ b/core/src/com/riiablo/net/tcp/TcpEndpoint.java @@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; +import java.net.InetSocketAddress; import java.nio.ByteBuffer; import com.badlogic.gdx.Gdx; @@ -38,14 +39,15 @@ public class TcpEndpoint implements Endpoint { } @Override - public void sendMessage(ByteBuffer bb) { + public void sendMessage(InetSocketAddress to, ByteBuffer bb) { if (DEBUG_SEND) Gdx.app.debug(TAG, "sendMessage"); + assert to == channel.remoteAddress(); channel.writeAndFlush(Unpooled.wrappedBuffer(bb)); // releases msg } @Override - public void sendMessage(Object qos, ByteBuffer bb) { - sendMessage(bb); + public void sendMessage(InetSocketAddress to, Object qos, ByteBuffer bb) { + sendMessage(to, bb); } @Override diff --git a/server/netty/src/com/riiablo/net/reliable/TestClient.java b/server/netty/src/com/riiablo/net/reliable/TestClient.java index 247cda19..f57fe0bf 100644 --- a/server/netty/src/com/riiablo/net/reliable/TestClient.java +++ b/server/netty/src/com/riiablo/net/reliable/TestClient.java @@ -76,10 +76,10 @@ public class TestClient extends ApplicationAdapter implements PacketProcessor { FlatBufferBuilder builder = new FlatBufferBuilder(); Connection.startConnection(builder); int dataOffset = Connection.endConnection(builder); - int offset = Netty.createNetty(builder, NettyData.Connection, dataOffset); + int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset); Netty.finishNettyBuffer(builder, offset); - endpoint.sendMessage(QoS.Unreliable, builder.dataBuffer()); + endpoint.sendMessage((InetSocketAddress) endpoint.channel().remoteAddress(), QoS.Unreliable, builder.dataBuffer()); } @Override diff --git a/server/netty/src/com/riiablo/net/tcp/TestClient.java b/server/netty/src/com/riiablo/net/tcp/TestClient.java index 687cd746..1833f4d7 100644 --- a/server/netty/src/com/riiablo/net/tcp/TestClient.java +++ b/server/netty/src/com/riiablo/net/tcp/TestClient.java @@ -81,7 +81,7 @@ public class TestClient extends ApplicationAdapter implements PacketProcessor { int offset = Netty.createNetty(builder, 0L, NettyData.Connection, dataOffset); Netty.finishNettyBuffer(builder, offset); - endpoint.sendMessage(QoS.Unreliable, builder.dataBuffer()); + endpoint.sendMessage((InetSocketAddress) endpoint.channel().remoteAddress(), QoS.Unreliable, builder.dataBuffer()); } @Override