Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. @Override
  2. public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
  3. if (msg instanceof Response) {
  4. ctx.writeAndFlush(generateDataByProtocol((Response) msg), promise);
  5. } else {
  6. ctx.writeAndFlush(msg, promise);
  7. }
  8. }
  9.  
  10. private ByteBuf generateDataByProtocol(Response response) {
  11. ByteBuf[] byteBufs;
  12.  
  13. if (response.hasMessage()) {
  14. byteBufs = new ByteBuf[5];
  15.  
  16. } else {
  17. byteBufs = new ByteBuf[3];
  18. }
  19.  
  20. byteBufs[0] = Unpooled.buffer(1).writeByte(response.getActionType().getValue());
  21. byteBufs[1] = Unpooled.buffer(1).writeByte(response.getOptionType().getValue());
  22. byteBufs[2] = Unpooled.copyShort(response.getStatus());
  23.  
  24. if (response.hasMessage()) {
  25. byte[] messageBytes = response.getMessage().getBytes();
  26.  
  27. byteBufs[3] = Unpooled.copyInt(messageBytes.length);
  28. byteBufs[4] = Unpooled.wrappedBuffer(messageBytes);
  29. }
  30.  
  31. return Unpooled.wrappedBuffer(byteBufs);
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement