mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-08 23:07:46 +07:00
Changed signature of PacketSender functions and prepended InetSocketAddress parameter for target
This commit is contained in:
@ -1,10 +1,11 @@
|
||||
package com.riiablo.net;
|
||||
|
||||
import io.netty.channel.Channel;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public interface PacketSender<T> {
|
||||
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);
|
||||
}
|
||||
|
@ -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<DatagramPacket>, 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);
|
||||
|
@ -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<ByteBuf> {
|
||||
}
|
||||
|
||||
@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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user