本文整理匯總了Java中io.netty.buffer.ByteBuf.readMedium方法的典型用法代碼示例。如果您正苦於以下問題:Java ByteBuf.readMedium方法的具體用法?Java ByteBuf.readMedium怎麽用?Java ByteBuf.readMedium使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類io.netty.buffer.ByteBuf
的用法示例。
在下文中一共展示了ByteBuf.readMedium方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: decode
import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
if (!hasHeader) {
if (in.readableBytes() >= 7) {
short id = in.readShort();
int payloadLength = in.readMedium();
short version = in.readShort();
hasHeader = true;
header.id = id;
header.payload = new byte[payloadLength];
}
} else {
if (in.readableBytes() >= header.payload.length) {
in.readBytes(header.payload);
hasHeader = false;
crypto.decryptPacket(header);
ClientMessage message = processPacket();
if (message != null) {
out.add(message);
}
}
}
}
示例2: decode
import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
/**
* Decodes the machine information of the user during the {@link WorldLoginDecoder}.
*
* @param buffer The {@link ByteBuf}.
* @return The created machine information.
*/
public static MachineInformation decode(ByteBuf buffer) {
buffer.readByte();
int osArch = buffer.readByte();
boolean is64Bit = buffer.readByte() == 1;
int osBuild = buffer.readByte();
int vendor = buffer.readByte();
buffer.readByte();
buffer.readByte();
buffer.readByte();
buffer.readByte();
buffer.readShort();
buffer.readByte();
buffer.readMedium();
buffer.readShort();
ByteBufUtils.readJagString(buffer);
ByteBufUtils.readJagString(buffer);
ByteBufUtils.readJagString(buffer);
ByteBufUtils.readJagString(buffer);
buffer.readByte();
buffer.readShort();
ByteBufUtils.readJagString(buffer);
ByteBufUtils.readJagString(buffer);
buffer.readByte();
buffer.readByte();
return new MachineInformation(osArch, is64Bit, osBuild, vendor);
}