X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fimplementation%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnector%2Fremoterpc%2Futils%2FMessagingUtil.java;h=883aa52f3f278d5bd725d9c99c1406f795caf04f;hp=20cf4f636230952065b2770bbe189f17f1b9db4d;hb=45945db0a3e5bb30c698d2de6af92dacb4b54f4b;hpb=80794420bbe8e585964ad17fb2d82dbab75f94b0 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/utils/MessagingUtil.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/utils/MessagingUtil.java index 20cf4f6362..883aa52f3f 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/utils/MessagingUtil.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/test/java/org/opendaylight/controller/sal/connector/remoterpc/utils/MessagingUtil.java @@ -7,12 +7,6 @@ package org.opendaylight.controller.sal.connector.remoterpc.utils; -import junit.framework.Assert; -import org.opendaylight.controller.sal.connector.remoterpc.dto.Message; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.zeromq.ZMQ; - import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; @@ -21,6 +15,13 @@ import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; +import junit.framework.Assert; + +import org.opendaylight.controller.sal.connector.remoterpc.dto.Message; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.zeromq.ZMQ; + public class MessagingUtil { private static final Logger _logger = LoggerFactory.getLogger(MessagingUtil.class); @@ -78,6 +79,41 @@ public class MessagingUtil { }; } + public static Runnable sendAMessage(final ZMQ.Context context, final String serverAddress, final Message msg) + throws IOException, ClassNotFoundException, InterruptedException { + + return new Runnable() { + @Override + public void run() { + final ZMQ.Socket socket = context.socket(ZMQ.REQ); + try { + + socket.connect(serverAddress); + System.out.println(Thread.currentThread().getName() + " Sending message"); + try { + socket.send(Message.serialize(msg)); + } catch (IOException e) { + e.printStackTrace(); + } + byte[] bytes = socket.recv(); + Message response = null; + try { + response = (Message) Message.deserialize(bytes); + } catch (IOException e) { + e.printStackTrace(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + System.out.println(Thread.currentThread().getName() + " Got response " + response); + } catch (Exception x) { + x.printStackTrace(); + } finally { + socket.close(); + } + } + }; + } + public static Runnable sendAnEmptyMessage(final ZMQ.Context context, final String serverAddress) throws IOException, ClassNotFoundException, InterruptedException { @@ -125,7 +161,7 @@ public class MessagingUtil { if (context == null) return; ExecutorService exec = Executors.newSingleThreadExecutor(); - FutureTask zmqTermination = new FutureTask(new Runnable() { + FutureTask zmqTermination = new FutureTask(new Runnable() { @Override public void run() {