mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-24 05:41:01 +02:00
Added NettyMessagingService constructor that accepts both ip and port
This commit is contained in:
parent
61d59dac06
commit
871009392c
@ -67,7 +67,7 @@ public class ClusterCommunicationManager
|
|||||||
@Activate
|
@Activate
|
||||||
public void activate() {
|
public void activate() {
|
||||||
ControllerNode localNode = clusterService.getLocalNode();
|
ControllerNode localNode = clusterService.getLocalNode();
|
||||||
NettyMessagingService netty = new NettyMessagingService(localNode.tcpPort());
|
NettyMessagingService netty = new NettyMessagingService(localNode.ip().toString(), localNode.tcpPort());
|
||||||
// FIXME: workaround until it becomes a service.
|
// FIXME: workaround until it becomes a service.
|
||||||
try {
|
try {
|
||||||
netty.activate();
|
netty.activate();
|
||||||
|
|||||||
@ -44,8 +44,7 @@ public final class InternalMessage implements Message {
|
|||||||
public void respond(byte[] data) throws IOException {
|
public void respond(byte[] data) throws IOException {
|
||||||
Builder builder = new Builder(messagingService);
|
Builder builder = new Builder(messagingService);
|
||||||
InternalMessage message = builder.withId(this.id)
|
InternalMessage message = builder.withId(this.id)
|
||||||
// FIXME: Sender should be messagingService.localEp.
|
.withSender(messagingService.localEp())
|
||||||
.withSender(this.sender)
|
|
||||||
.withPayload(data)
|
.withPayload(data)
|
||||||
.withType(REPLY_MESSAGE_TYPE)
|
.withType(REPLY_MESSAGE_TYPE)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@ -42,7 +42,6 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
|
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
private final int port;
|
|
||||||
private final Endpoint localEp;
|
private final Endpoint localEp;
|
||||||
private final ConcurrentMap<String, MessageHandler> handlers = new ConcurrentHashMap<>();
|
private final ConcurrentMap<String, MessageHandler> handlers = new ConcurrentHashMap<>();
|
||||||
private final Cache<Long, AsyncResponse> responseFutures = CacheBuilder.newBuilder()
|
private final Cache<Long, AsyncResponse> responseFutures = CacheBuilder.newBuilder()
|
||||||
@ -77,6 +76,10 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
clientChannelClass = NioSocketChannel.class;
|
clientChannelClass = NioSocketChannel.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NettyMessagingService(String ip, int port) {
|
||||||
|
localEp = new Endpoint(ip, port);
|
||||||
|
}
|
||||||
|
|
||||||
public NettyMessagingService() {
|
public NettyMessagingService() {
|
||||||
// TODO: Default port should be configurable.
|
// TODO: Default port should be configurable.
|
||||||
this(8080);
|
this(8080);
|
||||||
@ -84,7 +87,6 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
|
|
||||||
// FIXME: Constructor should not throw exceptions.
|
// FIXME: Constructor should not throw exceptions.
|
||||||
public NettyMessagingService(int port) {
|
public NettyMessagingService(int port) {
|
||||||
this.port = port;
|
|
||||||
try {
|
try {
|
||||||
localEp = new Endpoint(java.net.InetAddress.getLocalHost().getHostName(), port);
|
localEp = new Endpoint(java.net.InetAddress.getLocalHost().getHostName(), port);
|
||||||
} catch (UnknownHostException e) {
|
} catch (UnknownHostException e) {
|
||||||
@ -106,6 +108,14 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
clientGroup.shutdownGracefully();
|
clientGroup.shutdownGracefully();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the local endpoint for this instance.
|
||||||
|
* @return local end point.
|
||||||
|
*/
|
||||||
|
public Endpoint localEp() {
|
||||||
|
return localEp;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendAsync(Endpoint ep, String type, byte[] payload) throws IOException {
|
public void sendAsync(Endpoint ep, String type, byte[] payload) throws IOException {
|
||||||
InternalMessage message = new InternalMessage.Builder(this)
|
InternalMessage message = new InternalMessage.Builder(this)
|
||||||
@ -127,7 +137,7 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
channels.returnObject(ep, channel);
|
channels.returnObject(ep, channel);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new IOException(e);
|
throw new IOException("Failed to send message to " + ep.toString(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +184,7 @@ public class NettyMessagingService implements MessagingService {
|
|||||||
.childOption(ChannelOption.SO_KEEPALIVE, true);
|
.childOption(ChannelOption.SO_KEEPALIVE, true);
|
||||||
|
|
||||||
// Bind and start to accept incoming connections.
|
// Bind and start to accept incoming connections.
|
||||||
b.bind(port).sync();
|
b.bind(localEp.port()).sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OnosCommunicationChannelFactory
|
private class OnosCommunicationChannelFactory
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user