X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnector%2Fremoterpc%2FSocketPair.java;fp=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnector%2Fremoterpc%2FSocketPair.java;h=67b3a830e3faea732dfe84a603d8084db903f3c6;hb=97a4294baa44125d53a7ee2a3646f8a1c8da73e6;hp=0000000000000000000000000000000000000000;hpb=3207207ec5ddd9032bad9d019c9bb88c33cad4f3;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/SocketPair.java b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/SocketPair.java new file mode 100644 index 0000000000..67b3a830e3 --- /dev/null +++ b/opendaylight/md-sal/sal-remoterpc-connector/implementation/src/main/java/org/opendaylight/controller/sal/connector/remoterpc/SocketPair.java @@ -0,0 +1,41 @@ +package org.opendaylight.controller.sal.connector.remoterpc; + +import org.zeromq.ZMQ; + +import java.util.UUID; + +/** + * + */ +public class SocketPair implements AutoCloseable{ + private ZMQ.Socket sender; + private ZMQ.Socket receiver; + + private static final String INPROC_PREFIX = "inproc://"; + + public SocketPair(){ + String address = new StringBuilder(INPROC_PREFIX) + .append(UUID.randomUUID()) + .toString(); + + receiver = Context.getInstance().getZmqContext().socket(ZMQ.PAIR); + receiver.bind(address); + + sender = Context.getInstance().getZmqContext().socket(ZMQ.PAIR); + sender.connect(address); + } + + public ZMQ.Socket getSender(){ + return this.sender; + } + + public ZMQ.Socket getReceiver(){ + return this.receiver; + } + + @Override + public void close() throws Exception { + sender.close(); + receiver.close(); + } +}