Madan Jampani

Logging fix in NettyMessagingService + Added a simple unit test.

......@@ -241,8 +241,9 @@ public class NettyMessagingService implements MessagingService {
NettyMessagingService.this.responseFutures.getIfPresent(message.id());
if (futureResponse != null) {
futureResponse.setResponse(message.payload());
} else {
log.warn("Received a reply. But was unable to locate the request handle");
}
log.warn("Received a reply. But was unable to locate the request handle");
} finally {
NettyMessagingService.this.responseFutures.invalidate(message.id());
}
......
package org.onlab.netty;
import java.util.concurrent.TimeUnit;
import org.junit.Assert;
import org.junit.Test;
/**
* Simple ping-pong test that exercises NettyMessagingService.
*/
public class PingPongTest {
@Test
public void testPingPong() throws Exception {
NettyMessagingService pinger = new NettyMessagingService(8085);
NettyMessagingService ponger = new NettyMessagingService(9086);
try {
pinger.activate();
ponger.activate();
pinger.setPayloadSerializer(new KryoSerializer());
ponger.setPayloadSerializer(new KryoSerializer());
ponger.registerHandler("echo", new EchoHandler());
Response<String> response = pinger.sendAndReceive(new Endpoint("localhost", 9086), "echo", "hello");
Assert.assertEquals("hello", response.get(10000, TimeUnit.MILLISECONDS));
} finally {
pinger.deactivate();
ponger.deactivate();
}
}
}