use of org.zeromq.ZMQ.Socket in project jeromq by zeromq.
the class TestZContext method testZContext.
@Test
public void testZContext() {
ZContext ctx = new ZContext();
Socket s1 = ctx.createSocket(ZMQ.PAIR);
Socket s2 = ctx.createSocket(ZMQ.XREQ);
Socket s3 = ctx.createSocket(ZMQ.REQ);
Socket s4 = ctx.createSocket(ZMQ.REP);
Socket s5 = ctx.createSocket(ZMQ.PUB);
Socket s6 = ctx.createSocket(ZMQ.SUB);
ctx.close();
Assert.assertEquals(0, ctx.getSockets().size());
}
use of org.zeromq.ZMQ.Socket in project jeromq by zeromq.
the class TestZContext method testZContextSocketCloseBeforeContextClose.
@Test
public void testZContextSocketCloseBeforeContextClose() {
ZContext ctx = new ZContext();
Socket s1 = ctx.createSocket(ZMQ.PUSH);
Socket s2 = ctx.createSocket(ZMQ.PULL);
s1.close();
s2.close();
ctx.close();
}
use of org.zeromq.ZMQ.Socket in project jeromq by zeromq.
the class TestZLoop method testZLoop.
@Test
public void testZLoop() {
int rc = 0;
// setUp() should create the context
assert (ctx != null);
ZLoop loop = new ZLoop(ctx);
assert (loop != null);
ZLoop.IZLoopHandler timerEvent = new ZLoop.IZLoopHandler() {
@Override
public int handle(ZLoop loop, PollItem item, Object arg) {
((Socket) arg).send("PING", 0);
return 0;
}
};
ZLoop.IZLoopHandler socketEvent = new ZLoop.IZLoopHandler() {
@Override
public int handle(ZLoop loop, PollItem item, Object arg) {
received = ((Socket) arg).recvStr(0);
// Just end the reactor
return -1;
}
};
// After 10 msecs, send a ping message to output
loop.addTimer(10, 1, timerEvent, input);
// When we get the ping message, end the reactor
PollItem pollInput = new PollItem(output, Poller.POLLIN);
rc = loop.addPoller(pollInput, socketEvent, output);
Assert.assertEquals(0, rc);
loop.start();
loop.removePoller(pollInput);
Assert.assertEquals("PING", received);
}
use of org.zeromq.ZMQ.Socket in project jeromq by zeromq.
the class TestZLoop method testZLoopAddTimerFromTimer.
@Test
public void testZLoopAddTimerFromTimer() {
int rc = 0;
ZLoop loop = new ZLoop(ctx);
assert (loop != null);
ZLoop.IZLoopHandler timerEvent = new ZLoop.IZLoopHandler() {
@Override
public int handle(ZLoop loop, PollItem item, Object arg) {
final long now = System.currentTimeMillis();
ZLoop.IZLoopHandler timerEvent2 = new ZLoop.IZLoopHandler() {
@Override
public int handle(ZLoop loop, PollItem item, Object arg) {
final long now2 = System.currentTimeMillis();
assert (now2 >= now + 10);
((Socket) arg).send("PING", 0);
return 0;
}
};
loop.addTimer(10, 1, timerEvent2, arg);
return 0;
}
};
ZLoop.IZLoopHandler socketEvent = new ZLoop.IZLoopHandler() {
@Override
public int handle(ZLoop loop, PollItem item, Object arg) {
received = ((Socket) arg).recvStr(0);
// Just end the reactor
return -1;
}
};
// After 10 msecs, fire a timer that registers
// another timer that sends the ping message
loop.addTimer(10, 1, timerEvent, input);
// When we get the ping message, end the reactor
PollItem pollInput = new PollItem(output, Poller.POLLIN);
rc = loop.addPoller(pollInput, socketEvent, output);
Assert.assertEquals(0, rc);
loop.start();
loop.removePoller(pollInput);
Assert.assertEquals("PING", received);
}
use of org.zeromq.ZMQ.Socket in project jeromq by zeromq.
the class TestZMQ method testEventListening.
@Test
public void testEventListening() {
Context context = ZMQ.context(1);
ZMQ.Event event;
Socket socket = context.socket(ZMQ.REP);
Socket monitor = context.socket(ZMQ.PAIR);
monitor.setReceiveTimeOut(100);
assertTrue(socket.monitor("inproc://monitor.socket", ZMQ.EVENT_LISTENING));
monitor.connect("inproc://monitor.socket");
socket.bindToRandomPort("tcp://127.0.0.1");
event = ZMQ.Event.recv(monitor);
assertNotNull("No event was received", event);
assertEquals(ZMQ.EVENT_LISTENING, event.getEvent());
socket.close();
monitor.close();
context.term();
}
Aggregations