Java 类io.netty.buffer.Unpooled 实例源码
项目:Re-Collector
文件:PatternChunkSplitterTest.java
@Test
public void testEncodings() throws Exception {
final PatternChunkSplitter splitter = new PatternChunkSplitter("^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)");
// "Feb 20 17:05:18 Hällö Wörld\nFeb 20 17:05:18 Büe\n" in ISO-8859-1 encoding
final byte[] bytes = new byte[]{
0x46, 0x65, 0x62, 0x20, 0x32, 0x30, 0x20, 0x31, 0x37, 0x3a, 0x30, 0x35, 0x3a, 0x31, 0x38, 0x20,
0x48, (byte) 0xe4, 0x6c, 0x6c, (byte) 0xf6, 0x20, 0x57, (byte) 0xf6, 0x72, 0x6c, 0x64, 0x0a,
0x46, 0x65, 0x62, 0x20, 0x32, 0x30, 0x20, 0x31, 0x37, 0x3a, 0x30, 0x35, 0x3a, 0x31, 0x38, 0x20,
0x42, (byte) 0xfc, 0x65, 0x0a
};
// With correct encoding
final ByteBuf buffer = Unpooled.copiedBuffer(bytes);
final Iterator<String> iterator = splitter.splitRemaining(buffer, ISO_8859_1).iterator();
assertEquals("Feb 20 17:05:18 Hällö Wörld\n", iterator.next());
assertEquals("Feb 20 17:05:18 Büe\n", iterator.next());
// With wrong encoding
final ByteBuf buffer2 = Unpooled.copiedBuffer(bytes);
final Iterator<String> iterator2 = splitter.splitRemaining(buffer2, UTF_8).iterator();
assertNotEquals("Feb 20 17:05:18 Hällö Wörld\n", iterator2.next());
assertNotEquals("Feb 20 17:05:18 Büe\n", iterator2.next());
}
项目:angel
文件:ServerDenseIntRowTest.java
@Test
public void testDeserialize() throws Exception {
ByteBuf buf = Unpooled.buffer(16);
buf.writeInt(0);
buf.writeInt(1);
buf.writeLong(2);
buf.writeLong(3);
buf.writeInt(4);
buf.writeInt(3);
buf.writeInt(-1);
buf.writeInt(-2);
buf.writeInt(-3);
serverDenseIntRow.deserialize(buf);
assertEquals(serverDenseIntRow.getRowId(), 0);
assertEquals(serverDenseIntRow.getClock(), 1);
assertEquals(serverDenseIntRow.getStartCol(), 2);
assertEquals(serverDenseIntRow.getEndCol(), 3);
assertEquals(serverDenseIntRow.getRowVersion(), 4);
assertEquals(serverDenseIntRow.getData().get(0), -1, 0.0);
assertEquals(serverDenseIntRow.getData().get(1), -2, 0.0);
assertEquals(serverDenseIntRow.getData().get(2), -3, 0.0);
}
项目:angel
文件:ServerDenseFloatRowTest.java
@Test
public void testReadFrom() throws Exception {
ByteBuf buf = Unpooled.buffer(16);
buf.writeFloat((float) 10.00);
buf.writeFloat((float) 11.00);
buf.writeFloat((float) 12.00);
serverDenseFloatRow.update(RowType.T_FLOAT_DENSE, buf, 3);
DataOutputStream out = new DataOutputStream(new FileOutputStream("data"));
serverDenseFloatRow.writeTo(out);
out.close();
DataInputStream in = new DataInputStream(new FileInputStream("data"));
ServerDenseFloatRow newServerDenseFloatRow = new ServerDenseFloatRow(rowId, startCol, endCol);
newServerDenseFloatRow.readFrom(in);
assertEquals(newServerDenseFloatRow.getData().get(0), serverDenseFloatRow.getData().get(0),
0.00);
assertEquals(newServerDenseFloatRow.getData().get(1), serverDenseFloatRow.getData().get(1),
0.00);
assertEquals(newServerDenseFloatRow.getData().get(2), serverDenseFloatRow.getData().get(2),
0.00);
}
项目:proteus-java
文件:RequestHandlingRSocket.java
@Override
public Mono<Void> fireAndForget(Payload payload) {
try {
ByteBuf metadata = Unpooled.wrappedBuffer(payload.getMetadata());
int namespaceId = ProteusMetadata.namespaceId(metadata);
int serviceId = ProteusMetadata.serviceId(metadata);
ProteusService proteusService = getService(namespaceId, serviceId);
if (proteusService == null) {
return Mono.error(new ServiceNotFound(namespaceId, serviceId));
}
return proteusService.fireAndForget(payload);
} catch (Throwable t) {
return Mono.error(t);
}
}
项目:angel
文件:ServerDenseFloatRowTest.java
@Test
public void testDeserialize() throws Exception {
ByteBuf buf = Unpooled.buffer(16);
buf.writeInt(0);
buf.writeInt(1);
buf.writeLong(2);
buf.writeLong(3);
buf.writeInt(4);
buf.writeInt(3);
buf.writeFloat((float) -1.0);
buf.writeFloat((float) -2.0);
buf.writeFloat((float) -3.0);
serverDenseFloatRow.deserialize(buf);
assertEquals(serverDenseFloatRow.getRowId(), 0);
assertEquals(serverDenseFloatRow.getClock(), 1);
assertEquals(serverDenseFloatRow.getStartCol(), 2);
assertEquals(serverDenseFloatRow.getEndCol(), 3);
assertEquals(serverDenseFloatRow.getRowVersion(), 4);
assertEquals(serverDenseFloatRow.getData().get(0), -1, 0.0);
assertEquals(serverDenseFloatRow.getData().get(1), -2, 0.0);
assertEquals(serverDenseFloatRow.getData().get(2), -3, 0.0);
}
项目:message-broker
文件:BasicCancelTest.java
@Test
public void testEncodeDecode() throws Exception {
BasicCancel testFrame = new BasicCancel(1,
ShortString.parseString("1"),
true);
ByteBuf buf = Unpooled.buffer((int) testFrame.getMethodBodySize());
testFrame.writeMethod(buf);
BasicCancel decodedFrame = (BasicCancel) BasicCancel.getFactory()
.newInstance(buf, 1, testFrame.getMethodBodySize());
Assert.assertEquals(decodedFrame.getChannel(), testFrame.getChannel(), "Decoded frame's channel should match"
+ " the original frame's channel");
Assert.assertEquals(decodedFrame.getConsumerTag(), testFrame.getConsumerTag(), "Decoded frame's consumer-tag "
+ "should match the original frame's consumer-tag");
Assert.assertEquals(decodedFrame.isNoWait(), testFrame.isNoWait(), "Decoded frame's no-wait bit "
+ "should match the original frame's no-wait bit");
}
项目:message-broker
文件:QueueBindTest.java
@Test
public void testEncodeDecode() throws Exception {
QueueBind testFrame = new QueueBind(1,
ShortString.parseString("queue"),
ShortString.parseString("amq.topic"),
ShortString.parseString("a.b.c"),
true,
FieldTable.EMPTY_TABLE);
ByteBuf buf = Unpooled.buffer((int) testFrame.getMethodBodySize());
testFrame.writeMethod(buf);
QueueBind decodedFrame = (QueueBind) QueueBind.getFactory()
.newInstance(buf, 1, testFrame.getMethodBodySize());
Assert.assertEquals(decodedFrame.getChannel(), testFrame.getChannel(), "Decoded frame's channel should match"
+ " the original frame's channel");
Assert.assertEquals(decodedFrame.getQueue(), testFrame.getQueue(), "Decoded frame's queue should match"
+ " the original frame's queue");
Assert.assertEquals(decodedFrame.getExchange(), testFrame.getExchange(), "Decoded frame's exchange "
+ "should match the original frame's exchange");
Assert.assertEquals(decodedFrame.getRoutingKey(), testFrame.getRoutingKey(), "Decoded frame's routing-key "
+ "should match the original frame's no-local bit");
Assert.assertEquals(decodedFrame.isNoWait(), testFrame.isNoWait(), "Decoded frame's no-wait bit "
+ "should match the original frame's no-wait bit");
Assert.assertEquals(decodedFrame.getArguments(), testFrame.getArguments(), "Decoded frame's arguments "
+ "should match the original frame's arguments");
}
项目:teslog
文件:HttpHelloWorldServerHandler.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
if (msg instanceof HttpRequest) {
HttpRequest req = (HttpRequest) msg;
boolean keepAlive = HttpUtil.isKeepAlive(req);
FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, OK, Unpooled.wrappedBuffer(CONTENT));
response.headers().set(CONTENT_TYPE, "text/plain");
response.headers().setInt(CONTENT_LENGTH, response.content().readableBytes());
if (!keepAlive) {
ctx.write(response).addListener(ChannelFutureListener.CLOSE);
} else {
response.headers().set(CONNECTION, KEEP_ALIVE);
ctx.write(response);
}
}
}
项目:cornerstone
文件:HttpHelloWorldServerHandler.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
if(msg instanceof HttpContent){
System.out.println(msg);
}
if (msg instanceof HttpRequest) {
HttpRequest req = (HttpRequest) msg;
String path = URI.create(req.getUri()).getPath();
boolean keepAlive = HttpHeaders.isKeepAlive(req);
FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, OK, Unpooled.wrappedBuffer(CONTENT));
response.headers().set(CONTENT_TYPE, "text/plain");
response.headers().set(CONTENT_LENGTH, response.content().readableBytes());
if (!keepAlive) {
ctx.write(response).addListener(ChannelFutureListener.CLOSE);
} else {
response.headers().set(CONNECTION, Values.KEEP_ALIVE);
ctx.write(response);
}
}
}
项目:angel
文件:ServerDenseIntRowTest.java
@Test
public void testUpdate() throws Exception {
serverDenseIntRow = new ServerDenseIntRow(rowId, startCol, endCol);
ByteBuf buf = Unpooled.buffer(16);
buf.writeInt(0);
buf.writeInt(1);
buf.writeInt(-1);
int newValue0 = buf.getInt(0) + serverDenseIntRow.getData().get(0);
int newValue1 = buf.getInt(4) + serverDenseIntRow.getData().get(1);
serverDenseIntRow.update(RowType.T_INT_DENSE, buf, 3);
assertEquals(serverDenseIntRow.getData().get(0), newValue0, 0.000);
assertEquals(serverDenseIntRow.getData().get(1), newValue1, 0.000);
assertEquals(serverDenseIntRow.getData().get(2), -1, 0.000);
serverDenseIntRow = new ServerDenseIntRow(rowId, startCol, endCol);
buf = Unpooled.buffer(0);
buf.writeInt(0);
buf.writeInt(1);
buf.writeInt(2);
buf.writeInt(-2);
serverDenseIntRow.update(RowType.T_INT_SPARSE, buf, 2);
assertEquals(serverDenseIntRow.getData().get(0), 1, 0.000);
assertEquals(serverDenseIntRow.getData().get(1), 0, 0.000);
assertEquals(serverDenseIntRow.getData().get(2), -2, 0.000);
}
项目:jsf-sdk
文件:HttpJsonHandler.java
public static int writeBack(Channel channel, boolean isSuccess, String resultStr, boolean isKeepAlive) {
ByteBuf content = Unpooled.copiedBuffer(resultStr, Constants.DEFAULT_CHARSET);
HttpResponseStatus status;
if (isSuccess) {
status = HttpResponseStatus.OK;
} else {
status = HttpResponseStatus.INTERNAL_SERVER_ERROR;
}
FullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, status, content);
//logger.info("result str:{}", resultStr);
res.headers().set(CONTENT_TYPE, "text/html; charset=UTF-8");
HttpHeaders.setContentLength(res, content.readableBytes());
try {
ChannelFuture f = channel.writeAndFlush(res);
if (isKeepAlive) {
HttpHeaders.setKeepAlive(res, true);
} else {
HttpHeaders.setKeepAlive(res, false);//set keepalive closed
f.addListener(ChannelFutureListener.CLOSE);
}
} catch (Exception e2) {
logger.warn("Failed to send HTTP response to remote, cause by:", e2);
}
return content.readableBytes();
}
项目:incubator-plc4x
文件:IsoTPProtocolTest.java
@Test
@Tag("fast")
public void decodeDisconnectionConfirm() throws Exception {
ChannelHandlerContext ctx = new MockChannelHandlerContext();
ByteBuf buf = Unpooled.buffer();
ArrayList<Object> out = new ArrayList<>();
buf.writeByte(0x5); // header length
buf.writeByte(TpduCode.DISCONNECT_CONFIRM.getCode());
buf.writeShort(0x01); // destination reference
buf.writeShort(0x02); // source reference
buf.writeByte(DisconnectReason.NORMAL.getCode());
IsoOnTcpMessage in = new IsoOnTcpMessage(buf);
isoTPProtocol.decode(ctx, in, out);
assertTrue(out.size() == 1, "Message not decoded");
DisconnectConfirmTpdu requestTpdu = (DisconnectConfirmTpdu) ((IsoTPMessage)out.get(0)).getTpdu();
assertTrue(requestTpdu.getTpduCode() == TpduCode.DISCONNECT_CONFIRM, "Message code not correct");
assertTrue(requestTpdu.getDestinationReference() == (short) 0x1, "Message destination reference not correct");
assertTrue(requestTpdu.getSourceReference() == (short) 0x2, "Message source reference not correct");
assertTrue(requestTpdu.getParameters().isEmpty(), "Message contains paramaters");
}
项目:qonduit
文件:NonSslRedirectHandler.java
@Override
protected ChannelHandler newNonSslHandler(ChannelHandlerContext context) {
return new ChannelInboundHandlerAdapter() {
private HttpResponseEncoder encoder = new HttpResponseEncoder();
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
LOG.trace("Received non-SSL request, returning redirect");
FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1,
HttpResponseStatus.MOVED_PERMANENTLY, Unpooled.EMPTY_BUFFER);
response.headers().set(Names.LOCATION, redirectAddress);
LOG.trace(Constants.LOG_RETURNING_RESPONSE, response);
encoder.write(ctx, response, ctx.voidPromise());
ctx.flush();
}
};
}
项目:spark_deep
文件:SaslEncryption.java
@Override
protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out)
throws Exception {
byte[] data;
int offset;
int length = msg.readableBytes();
if (msg.hasArray()) {
data = msg.array();
offset = msg.arrayOffset();
msg.skipBytes(length);
} else {
data = new byte[length];
msg.readBytes(data);
offset = 0;
}
out.add(Unpooled.wrappedBuffer(backend.unwrap(data, offset, length)));
}
项目:upgradeToy
文件:SimpleClient.java
public static void main(String[] args) throws IOException, InterruptedException {
Bootstrap b = new Bootstrap();
b.group(new NioEventLoopGroup())
.channel(NioSocketChannel.class)
.handler(new ChannelInitializer<NioSocketChannel>() {
@Override
protected void initChannel(NioSocketChannel ch) throws Exception {
}
});
b.connect("localhost", 8090).addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture future) throws Exception {
if (future.isSuccess()) {
future.channel().write(Unpooled.buffer().writeBytes("123".getBytes()));
future.channel().flush();
future.channel().close();
}
}
});
}
项目:AlphaLibary
文件:EchoServerHandler.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
ByteBuf in = (ByteBuf) msg;
String sentData = in.toString(CharsetUtil.UTF_8);
String returnee = sentData + "-::=::-" + "{}";
RequestProcessor reprocessor = EchoServer.process(sentData);
if (reprocessor != null)
returnee = sentData + "-::=::-" + reprocessor.getProcessedData();
ChannelFuture f = ctx.writeAndFlush(Unpooled.copiedBuffer(returnee, CharsetUtil.UTF_8)).sync();
if (!f.isSuccess())
try {
throw f.cause();
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
项目:netty-socketio-demo
文件:HttpCheckServer.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
if (msg instanceof HttpRequest) {
HttpRequest request = (HttpRequest) msg;
logger.info("check");
}
if (msg instanceof HttpContent) {
HttpContent httpContent = (HttpContent) msg;
ByteBuf content = httpContent.content();
content.release();
ByteBuf byteBuf = Unpooled.wrappedBuffer("ok".getBytes("UTF-8"));
FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, byteBuf);
response.headers().set("Content-Type", "text/html; charset=UTF-8");
response.headers().set("Content-Length", byteBuf.readableBytes());
ctx.channel().write(response);
ctx.channel().flush();
}
}
项目:CloudNet
文件:WebsiteDocumentation.java
@Override
public FullHttpResponse get(ChannelHandlerContext channelHandlerContext, QueryDecoder queryDecoder, PathProvider path, HttpRequest httpRequest) throws Exception
{
CloudNet.getLogger().debug("HTTP Request from " + channelHandlerContext.channel().remoteAddress());
StringBuilder stringBuilder = new StringBuilder();
try (InputStream inputStream = WebsiteDocumentation.class.getClassLoader().getResourceAsStream("files/api-doc.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)))
{
String input;
while ((input = bufferedReader.readLine()) != null)
{
stringBuilder.append(input).append(System.lineSeparator());
}
}
String output = stringBuilder.substring(0);
ByteBuf byteBuf = Unpooled.wrappedBuffer(output.getBytes(StandardCharsets.UTF_8));
FullHttpResponse fullHttpResponse = new DefaultFullHttpResponse(httpRequest.getProtocolVersion(), HttpResponseStatus.OK, byteBuf);
fullHttpResponse.headers().set("Content-Type", "text/plain");
return fullHttpResponse;
}
项目:incubator-plc4x
文件:S7ProtocolTest.java
@Test
@Tag("fast")
public void decode() throws Exception {
//TODO: finish me
LinkedList<Object> out = new LinkedList<>();
ByteBuf buffer = Unpooled.buffer();
// Magic Number
buffer.writeByte(0x32);
buffer.writeByte(MessageType.JOB.getCode());
// Reserved magic value
buffer.writeShort(0x0000);
// tpduReference
buffer.writeShort(0x0000);
// headerParametersLength
buffer.writeShort(0x0000);
// userDataLength
buffer.writeShort(0x0000);
SUT.decode(null, new IsoTPMessage(mock(Tpdu.class), buffer), out);
assertThat(out).hasSize(1);
}
项目:DecompiledMinecraft
文件:NetHandlerPlayClient.java
/**
* Registers some server properties (gametype,hardcore-mode,terraintype,difficulty,player limit), creates a new
* WorldClient and sets the player initial dimension
*/
public void handleJoinGame(S01PacketJoinGame packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
this.gameController.playerController = new PlayerControllerMP(this.gameController, this);
this.clientWorldController = new WorldClient(this, new WorldSettings(0L, packetIn.getGameType(), false, packetIn.isHardcoreMode(), packetIn.getWorldType()), packetIn.getDimension(), packetIn.getDifficulty(), this.gameController.mcProfiler);
this.gameController.gameSettings.difficulty = packetIn.getDifficulty();
this.gameController.loadWorld(this.clientWorldController);
this.gameController.thePlayer.dimension = packetIn.getDimension();
this.gameController.displayGuiScreen(new GuiDownloadTerrain(this));
this.gameController.thePlayer.setEntityId(packetIn.getEntityId());
this.currentServerMaxPlayers = packetIn.getMaxPlayers();
this.gameController.thePlayer.setReducedDebug(packetIn.isReducedDebugInfo());
this.gameController.playerController.setGameType(packetIn.getGameType());
this.gameController.gameSettings.sendSettingsToServer();
this.netManager.sendPacket(new C17PacketCustomPayload("MC|Brand", (new PacketBuffer(Unpooled.buffer())).writeString(ClientBrandRetriever.getClientModName())));
}
项目:incubator-servicecomb-java-chassis
文件:TestTcpClientConnection.java
@Test
public void send_inWorkingStatus(@Mocked AbstractTcpClientPackage tcpClientPackage,
@Mocked TcpOutputStream tcpOutputStream) {
Deencapsulation.setField(tcpClientConnection, "status", Status.WORKING);
long msgId = 1;
ByteBuf byteBuf = Unpooled.buffer();
new Expectations(tcpClientConnection) {
{
tcpClientPackage.getMsgId();
result = msgId;
tcpClientPackage.createStream();
result = tcpOutputStream;
tcpOutputStream.getByteBuf();
result = byteBuf;
}
};
tcpClientConnection.send(tcpClientPackage, ar -> {
});
Assert.assertSame(byteBuf, writeQueue.poll());
Assert.assertNull(writeQueue.poll());
Assert.assertEquals(Status.WORKING, Deencapsulation.getField(tcpClientConnection, "status"));
}
项目:incubator-plc4x
文件:IsoTPProtocolTest.java
@Test
@Tag("fast")
public void decodeData() throws Exception {
ChannelHandlerContext ctx = new MockChannelHandlerContext();
ByteBuf buf = Unpooled.buffer();
ArrayList<Object> out = new ArrayList<>();
buf.writeByte(0x3); // header length
buf.writeByte(TpduCode.DATA.getCode());
buf.writeByte((byte) 0x1); // Tpdu code
IsoOnTcpMessage in = new IsoOnTcpMessage(buf);
isoTPProtocol.decode(ctx, in, out);
assertTrue(out.size() == 1, "Message not decoded");
DataTpdu requestTpdu = (DataTpdu) ((IsoTPMessage)out.get(0)).getTpdu();
assertTrue(requestTpdu.getTpduCode() == TpduCode.DATA, "Message code not correct");
assertTrue(requestTpdu.getTpduRef() == (short) 0x1, "Message Tpdu reference not correct");
assertTrue(!requestTpdu.isEot(), "Message EOT not correct");
assertTrue(requestTpdu.getParameters().isEmpty(), "Message contains paramaters");
}
项目:Backmemed
文件:EntityPlayerMP.java
public void displayVillagerTradeGui(IMerchant villager)
{
this.getNextWindowId();
this.openContainer = new ContainerMerchant(this.inventory, villager, this.world);
this.openContainer.windowId = this.currentWindowId;
this.openContainer.addListener(this);
IInventory iinventory = ((ContainerMerchant)this.openContainer).getMerchantInventory();
ITextComponent itextcomponent = villager.getDisplayName();
this.connection.sendPacket(new SPacketOpenWindow(this.currentWindowId, "minecraft:villager", itextcomponent, iinventory.getSizeInventory()));
MerchantRecipeList merchantrecipelist = villager.getRecipes(this);
if (merchantrecipelist != null)
{
PacketBuffer packetbuffer = new PacketBuffer(Unpooled.buffer());
packetbuffer.writeInt(this.currentWindowId);
merchantrecipelist.writeToBuf(packetbuffer);
this.connection.sendPacket(new SPacketCustomPayload("MC|TrList", packetbuffer));
}
}
项目:elasticsearch_my
文件:Netty4Utils.java
/**
* Turns the given BytesReference into a ByteBuf. Note: the returned ByteBuf will reference the internal
* pages of the BytesReference. Don't free the bytes of reference before the ByteBuf goes out of scope.
*/
public static ByteBuf toByteBuf(final BytesReference reference) {
if (reference.length() == 0) {
return Unpooled.EMPTY_BUFFER;
}
if (reference instanceof ByteBufBytesReference) {
return ((ByteBufBytesReference) reference).toByteBuf();
} else {
final BytesRefIterator iterator = reference.iterator();
// usually we have one, two, or three components from the header, the message, and a buffer
final List<ByteBuf> buffers = new ArrayList<>(3);
try {
BytesRef slice;
while ((slice = iterator.next()) != null) {
buffers.add(Unpooled.wrappedBuffer(slice.bytes, slice.offset, slice.length));
}
final CompositeByteBuf composite = Unpooled.compositeBuffer(buffers.size());
composite.addComponents(true, buffers);
return composite;
} catch (IOException ex) {
throw new AssertionError("no IO happens here", ex);
}
}
}
项目:incubator-plc4x
文件:IsoTPProtocolTest.java
@Test
@Tag("fast")
public void encodeSizeParameter() throws Exception {
ChannelHandlerContext ctx = new MockChannelHandlerContext();
ByteBuf buf = Unpooled.buffer();
ArrayList<Parameter> parmameters = new ArrayList<>();
TpduSizeParameter sizeParameter = new TpduSizeParameter(TpduSize.SIZE_512);
parmameters.add(sizeParameter);
ErrorTpdu tpdu = new ErrorTpdu((short)0x1, RejectCause.REASON_NOT_SPECIFIED, parmameters, buf);
ArrayList<Object> out = new ArrayList<>();
isoTPProtocol.encode(ctx, tpdu, out);
assertTrue(out.size() == 1, "Message not decoded");
ByteBuf userData = ((IsoOnTcpMessage)out.get(0)).getUserData();
assertTrue(userData.writerIndex() == 8, "Incorrect message length");
assertTrue(userData.readByte() == (byte)0x7, "Incorrect header length");
assertTrue(userData.readByte() == TpduCode.TPDU_ERROR.getCode(), "Incorrect Tpdu code");
assertTrue(userData.readShort() == (short)0x1, "Incorrect destination reference code");
assertTrue(userData.readByte() == RejectCause.REASON_NOT_SPECIFIED.getCode(), "Incorrect reject cause code");
assertTrue(userData.readByte() == ParameterCode.TPDU_SIZE.getCode(), "Incorrect parameter code");
assertTrue(userData.readByte() == (byte)0x1, "Incorrect parameter length");
assertTrue(userData.readByte() == TpduSize.SIZE_512.getCode(), "Incorrect tdpu size");
}
项目:Limitart
文件:SendMessageUtil.java
public static void sendMessage(AbstractBinaryEncoder encoder, Channel channel, Message msg,
Proc3<Boolean, Throwable, Channel> listener) throws MessageCodecException {
if (channel == null) {
Procs.invoke(listener, false, new NullPointerException("channel"), null);
return;
}
if (!channel.isWritable()) {
Procs.invoke(listener, false, new IOException(" channel " + channel.remoteAddress() + " is unwritable"),
channel);
return;
}
ByteBuf buffer = Unpooled.buffer();
encoder.beforeWriteBody(buffer, msg.getMessageId());
msg.buffer(buffer);
try {
msg.encode();
} catch (Exception e) {
throw new MessageCodecException(e);
}
msg.buffer(null);
encoder.afterWriteBody(buffer);
flow(msg.getClass(), buffer);
channel.writeAndFlush(buffer).addListener((ChannelFutureListener) arg0 -> {
Procs.invoke(listener, arg0.isSuccess(), arg0.cause(), arg0.channel());
});
}
项目:message-broker
文件:BasicCancelTest.java
@Test
public void testEncodeDecodeWithFalseFlags() throws Exception {
BasicCancel testFrame = new BasicCancel(1,
ShortString.parseString("1"),
false);
ByteBuf buf = Unpooled.buffer((int) testFrame.getMethodBodySize());
testFrame.writeMethod(buf);
BasicCancel decodedFrame = (BasicCancel) BasicCancel.getFactory()
.newInstance(buf, 1, testFrame.getMethodBodySize());
Assert.assertEquals(decodedFrame.getChannel(), testFrame.getChannel(), "Decoded frame's channel should match"
+ " the original frame's channel");
Assert.assertEquals(decodedFrame.getConsumerTag(), testFrame.getConsumerTag(), "Decoded frame's consumer-tag "
+ "should match the original frame's consumer-tag");
Assert.assertEquals(decodedFrame.isNoWait(), testFrame.isNoWait(), "Decoded frame's no-wait bit "
+ "should match the original frame's no-wait bit");
}
项目:incubator-plc4x
文件:IsoTPProtocolTest.java
@Test
@Tag("fast")
public void encodeDisconnectionConfirm() throws Exception {
ChannelHandlerContext ctx = new MockChannelHandlerContext();
ByteBuf buf = Unpooled.buffer();
DisconnectConfirmTpdu tpdu = new DisconnectConfirmTpdu((short)0x1, (short)(0x2), Collections.emptyList(), buf);
ArrayList<Object> out = new ArrayList<>();
isoTPProtocol.encode(ctx, tpdu, out);
assertTrue(out.size() == 1, "Message not decoded");
ByteBuf userData = ((IsoOnTcpMessage)out.get(0)).getUserData();
assertTrue(userData.writerIndex() == 6, "Incorrect message length");
assertTrue(userData.readByte() == (byte)0x5, "Incorrect header length");
assertTrue(userData.readByte() == TpduCode.DISCONNECT_CONFIRM.getCode(), "Incorrect Tpdu code");
assertTrue(userData.readShort() == (short)0x1, "Incorrect destination reference code");
assertTrue(userData.readShort() == (short)0x2, "Incorrect source reference code");
}
项目:incubator-plc4x
文件:IsoTPProtocolTest.java
@Test
@Tag("fast")
public void decodeNull() throws Exception {
ChannelHandlerContext ctx = new MockChannelHandlerContext();
ByteBuf buf = Unpooled.buffer();
ArrayList<Object> out = new ArrayList<>();
IsoOnTcpMessage in = new IsoOnTcpMessage(buf);
isoTPProtocol.decode(ctx, in, out);
assertTrue(out.size() == 0, "Message decoded when blank message passed");
isoTPProtocol.decode(ctx, null, out);
assertTrue(out.size() == 0, "Message decoded when blank message passed");
}
项目:DecompiledMinecraft
文件:NettyCompressionDecoder.java
protected void decode(ChannelHandlerContext p_decode_1_, ByteBuf p_decode_2_, List<Object> p_decode_3_) throws DataFormatException, Exception
{
if (p_decode_2_.readableBytes() != 0)
{
PacketBuffer packetbuffer = new PacketBuffer(p_decode_2_);
int i = packetbuffer.readVarIntFromBuffer();
if (i == 0)
{
p_decode_3_.add(packetbuffer.readBytes(packetbuffer.readableBytes()));
}
else
{
if (i < this.treshold)
{
throw new DecoderException("Badly compressed packet - size of " + i + " is below server threshold of " + this.treshold);
}
if (i > 2097152)
{
throw new DecoderException("Badly compressed packet - size of " + i + " is larger than protocol maximum of " + 2097152);
}
byte[] abyte = new byte[packetbuffer.readableBytes()];
packetbuffer.readBytes(abyte);
this.inflater.setInput(abyte);
byte[] abyte1 = new byte[i];
this.inflater.inflate(abyte1);
p_decode_3_.add(Unpooled.wrappedBuffer(abyte1));
this.inflater.reset();
}
}
}
项目:BaseClient
文件:GuiMerchant.java
/**
* Called by the controls from the buttonList when activated. (Mouse pressed for buttons)
*/
protected void actionPerformed(GuiButton button) throws IOException
{
boolean flag = false;
if (button == this.nextButton)
{
++this.selectedMerchantRecipe;
MerchantRecipeList merchantrecipelist = this.merchant.getRecipes(this.mc.thePlayer);
if (merchantrecipelist != null && this.selectedMerchantRecipe >= merchantrecipelist.size())
{
this.selectedMerchantRecipe = merchantrecipelist.size() - 1;
}
flag = true;
}
else if (button == this.previousButton)
{
--this.selectedMerchantRecipe;
if (this.selectedMerchantRecipe < 0)
{
this.selectedMerchantRecipe = 0;
}
flag = true;
}
if (flag)
{
((ContainerMerchant)this.inventorySlots).setCurrentRecipeIndex(this.selectedMerchantRecipe);
PacketBuffer packetbuffer = new PacketBuffer(Unpooled.buffer());
packetbuffer.writeInt(this.selectedMerchantRecipe);
this.mc.getNetHandler().addToSendQueue(new C17PacketCustomPayload("MC|TrSel", packetbuffer));
}
}
项目:Lithium-Spigot
文件:LithiumUtils.java
public static byte[] writeUTF8String(String string) {
string = '\n' + string;
val to = Unpooled.buffer();
to.writeByte(0);
byte[] utf8Bytes = string.getBytes(StandardCharsets.UTF_8);
Validate.isTrue(varIntByteCount(utf8Bytes.length) < 3, "The string is too long for this encoding.");
writeVarInt(to, utf8Bytes.length, 2);
to.writeBytes(utf8Bytes);
return to.array();
}
项目:angel
文件:ServerPartitionTest.java
@Test
public void testDeserialize() throws Exception {
ByteBuf buf = Unpooled.buffer(16);
serverPartition.serialize(buf);
PartitionKey partitionKeyNew = new PartitionKey(2, 1, 1, 2, 8, 10);
ServerPartition serverPartitionNew =
new ServerPartition(partitionKeyNew, RowType.T_DOUBLE_DENSE);
assertNotEquals(serverPartition.getPartitionKey().getPartitionId(),
serverPartitionNew.getPartitionKey().getPartitionId());
serverPartitionNew.deserialize(buf);
assertEquals(serverPartition.getPartitionKey().getPartitionId(),
serverPartitionNew.getPartitionKey().getPartitionId());
}
项目:qonduit
文件:HttpHandler.java
default void sendHttpError(ChannelHandlerContext ctx, QonduitException e) throws JsonProcessingException {
LOG.error("Error in pipeline, response code: {}, message: {}", e.getCode(), e.getMessage());
byte[] buf = JsonUtil.getObjectMapper().writeValueAsBytes(
"ResponseCode: " + e.getCode() + " Message: " + e.getMessage());
FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(e
.getCode()), Unpooled.copiedBuffer(buf));
response.headers().set(Names.CONTENT_TYPE, Constants.JSON_TYPE);
response.headers().set(Names.CONTENT_LENGTH, response.content().readableBytes());
e.getResponseHeaders().entrySet().forEach(entry -> response.headers().set(entry.getKey(), entry.getValue()));
// Send the error response
sendResponse(ctx, response);
}
项目:CustomWorldGen
文件:MinecraftServer.java
public void applyServerIconToResponse(ServerStatusResponse response)
{
File file1 = this.getFile("server-icon.png");
if (!file1.exists())
{
file1 = this.getActiveAnvilConverter().getFile(this.getFolderName(), "icon.png");
}
if (file1.isFile())
{
ByteBuf bytebuf = Unpooled.buffer();
try
{
BufferedImage bufferedimage = ImageIO.read(file1);
Validate.validState(bufferedimage.getWidth() == 64, "Must be 64 pixels wide", new Object[0]);
Validate.validState(bufferedimage.getHeight() == 64, "Must be 64 pixels high", new Object[0]);
ImageIO.write(bufferedimage, "PNG", (OutputStream)(new ByteBufOutputStream(bytebuf)));
ByteBuf bytebuf1 = Base64.encode(bytebuf);
response.setFavicon("data:image/png;base64," + bytebuf1.toString(Charsets.UTF_8));
}
catch (Exception exception)
{
LOG.error((String)"Couldn\'t load server icon", (Throwable)exception);
}
finally
{
bytebuf.release();
}
}
}
项目:angel
文件:ServerDenseIntRowTest.java
@Test
public void testSerialize() throws Exception {
ByteBuf buf = Unpooled.buffer(16);
serverDenseIntRow.setClock(8);
serverDenseIntRow.serialize(buf);
assertEquals(serverDenseIntRow.getRowId(), buf.readInt());
assertEquals(serverDenseIntRow.getClock(), buf.readInt());
assertEquals(serverDenseIntRow.getStartCol(), buf.readLong());
assertEquals(serverDenseIntRow.getEndCol(), buf.readLong());
assertEquals(serverDenseIntRow.getRowVersion(), buf.readInt());
assertEquals(serverDenseIntRow.getEndCol() - serverDenseIntRow.getStartCol(), buf.readInt());
}
项目:angel
文件:DefaultRowUpdaterTest.java
@Test
public void testUpdateIntDenseToIntDense() throws Exception {
ServerDenseIntRow serverDenseIntRow = new ServerDenseIntRow(rowId, startCol, endCol);
ByteBuf buf = Unpooled.buffer(16);
buf.writeInt(0);
buf.writeInt(1);
buf.writeInt(-1);
rowUpdater.updateIntDenseToIntDense(3, buf, serverDenseIntRow);
assertEquals(serverDenseIntRow.getData().get(0), 0);
assertEquals(serverDenseIntRow.getData().get(1), 1);
assertEquals(serverDenseIntRow.getData().get(2), -1);
}
项目:Backmemed
文件:GuiEditCommandBlockMinecart.java
/**
* Called by the controls from the buttonList when activated. (Mouse pressed for buttons)
*/
protected void actionPerformed(GuiButton button) throws IOException
{
if (button.enabled)
{
if (button.id == 1)
{
this.commandBlockLogic.setTrackOutput(this.trackOutput);
this.mc.displayGuiScreen((GuiScreen)null);
}
else if (button.id == 0)
{
PacketBuffer packetbuffer = new PacketBuffer(Unpooled.buffer());
packetbuffer.writeByte(this.commandBlockLogic.getCommandBlockType());
this.commandBlockLogic.fillInInfo(packetbuffer);
packetbuffer.writeString(this.commandField.getText());
packetbuffer.writeBoolean(this.commandBlockLogic.shouldTrackOutput());
this.mc.getConnection().sendPacket(new CPacketCustomPayload("MC|AdvCmd", packetbuffer));
if (!this.commandBlockLogic.shouldTrackOutput())
{
this.commandBlockLogic.setLastOutput((ITextComponent)null);
}
this.mc.displayGuiScreen((GuiScreen)null);
}
else if (button.id == 4)
{
this.commandBlockLogic.setTrackOutput(!this.commandBlockLogic.shouldTrackOutput());
this.updateCommandOutput();
}
}
}
项目:NSS
文件:SocksServerConnectHandler.java
/**
* 给remoteserver发送数据--需要进行加密处理
*
* @param data
* @param length
* @param channel
*/
public void sendRemote(byte[] data, int length, Channel channel) {
if(isProxy) {
_crypt.encrypt(data, length, _remoteOutStream);
data = _remoteOutStream.toByteArray();
}
channel.writeAndFlush(Unpooled.wrappedBuffer(data));
logger.debug("sendRemote message:isProxy = " + isProxy +",length = " + length+",channel = " + channel);
}
项目:JRediClients
文件:RedissonTest.java
@Test
public void testIteratorNotLooped2() {
RedissonBaseIterator<Integer> iter = new RedissonBaseIterator<Integer>() {
int i;
@Override
ListScanResult<ScanObjectEntry> iterator(InetSocketAddress client, long nextIterPos) {
i++;
if (i == 1) {
return new ListScanResult<ScanObjectEntry>(14L, Arrays.asList(new ScanObjectEntry(Unpooled.wrappedBuffer(new byte[] {1}), 1)));
}
if (i == 2) {
return new ListScanResult(7L, Collections.emptyList());
}
if (i == 3) {
return new ListScanResult(0L, Collections.emptyList());
}
if (i == 4) {
return new ListScanResult(14L, Collections.emptyList());
}
Assert.fail();
return null;
}
@Override
void remove(Integer value) {
}
};
Assert.assertTrue(iter.hasNext());
assertThat(iter.next()).isEqualTo(1);
Assert.assertFalse(iter.hasNext());
}