use of com.firenio.concurrent.Waiter in project baseio by generallycloud.
the class TestSimpleHttpClient method main.
@Test
public void main() throws Exception {
Options.setEnableEpoll(true);
Waiter<String> w = new Waiter<>();
ChannelConnector context = new ChannelConnector("firenio.com", 443);
SslContext sslContext = SslContextBuilder.forClient(true).build();
context.addProtocolCodec(new ClientHttpCodec());
context.addProtocolCodec(new WebSocketCodec());
context.setIoEventHandle(new IoEventHandle() {
@Override
public void accept(Channel ch, Frame frame) {
ClientHttpFrame res = (ClientHttpFrame) frame;
System.out.println();
System.out.println(new String(res.getBytesContent()));
System.out.println();
Util.close(context);
w.call(new String(res.getBytesContent()), null);
}
});
context.addChannelEventListener(new LoggerChannelOpenListener());
context.setSslContext(sslContext);
long start = Util.now();
Channel ch = context.connect(3000);
ch.writeAndFlush(new ClientHttpFrame("/test?p=2222"));
w.await(3000);
System.out.println(Util.past(start));
Assert.assertEquals("yes server already accept your message :) {p=2222}", w.getResponse());
}
use of com.firenio.concurrent.Waiter in project baseio by generallycloud.
the class TestProtobase method testBinary.
public void testBinary() throws Exception {
Waiter<String> w = new Waiter<>();
IoEventHandle eventHandleAdaptor = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame f) {
String text = new String(f.getBytesContent(), ch.getCharset());
System.out.println();
System.out.println("____________________" + text);
System.out.println();
Util.close(ch);
w.call(text, null);
}
};
ChannelConnector context = new ChannelConnector(8300);
context.setIoEventHandle(eventHandleAdaptor);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.addProtocolCodec(new ProtobaseCodec());
Channel ch = context.connect();
ProtobaseFrame f = new ProtobaseFrame();
f.setBinary();
f.setString(hello, ch);
ch.writeAndFlush(f);
w.await(3000);
Assert.assertEquals(w.getResponse(), res + hello);
}
use of com.firenio.concurrent.Waiter in project baseio by generallycloud.
the class TestLengthValueServerJunit method testClientAsync.
public void testClientAsync() throws Exception {
Waiter<String> w = new Waiter<>();
ChannelConnector context = new ChannelConnector(8300);
IoEventHandle eventHandle = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame f) throws Exception {
System.out.println();
System.out.println("____________________" + f.getStringContent());
System.out.println();
context.close();
w.call(f.getStringContent(), null);
}
};
context.setIoEventHandle(eventHandle);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.addProtocolCodec(new LengthValueCodec());
context.connect((ch, ex) -> {
LengthValueFrame f = new LengthValueFrame();
f.setString(hello, ch);
try {
ch.writeAndFlush(f);
} catch (Exception e) {
e.printStackTrace();
}
});
w.await(1000);
v(w.getResponse());
}
use of com.firenio.concurrent.Waiter in project baseio by generallycloud.
the class TestLengthValueServerJunit method testClient.
public void testClient() throws Exception {
Waiter<String> w = new Waiter<>();
ChannelConnector context = new ChannelConnector(8300);
IoEventHandle eventHandle = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame f) throws Exception {
System.out.println();
System.out.println("____________________" + f.getStringContent());
System.out.println();
context.close();
w.call(f.getStringContent(), null);
}
};
context.setIoEventHandle(eventHandle);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.addProtocolCodec(new LengthValueCodec());
Channel ch = context.connect();
LengthValueFrame f = new LengthValueFrame();
f.setString(hello, ch);
ch.writeAndFlush(f);
w.await(1000);
v(w.getResponse());
}
use of com.firenio.concurrent.Waiter in project baseio by generallycloud.
the class TestProtobase method testText.
public void testText() throws Exception {
Waiter<String> w = new Waiter<>();
IoEventHandle eventHandleAdaptor = new IoEventHandle() {
@Override
public void accept(Channel ch, Frame frame) {
String text = frame.getStringContent();
System.out.println();
System.out.println("____________________" + text);
System.out.println();
Util.close(ch);
w.call(text, null);
}
};
ChannelConnector context = new ChannelConnector(8300);
context.setIoEventHandle(eventHandleAdaptor);
context.addChannelEventListener(new LoggerChannelOpenListener());
context.addProtocolCodec(new ProtobaseCodec());
Channel ch = context.connect();
ProtobaseFrame f = new ProtobaseFrame();
f.setString(hello, ch);
ch.writeAndFlush(f);
w.await(3000);
Assert.assertEquals(w.getResponse(), res + hello);
}
Aggregations