當前位置: 首頁>>代碼示例>>Java>>正文


Java ByteBuf.setInt方法代碼示例

本文整理匯總了Java中io.netty.buffer.ByteBuf.setInt方法的典型用法代碼示例。如果您正苦於以下問題:Java ByteBuf.setInt方法的具體用法?Java ByteBuf.setInt怎麽用?Java ByteBuf.setInt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在io.netty.buffer.ByteBuf的用法示例。


在下文中一共展示了ByteBuf.setInt方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: writeWithCalculatedSize

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private void writeWithCalculatedSize(ByteBuf buf) {
    int sizeIndex = buf.writerIndex();
    buf.writerIndex(sizeIndex + 4);

    long tableEntrySize = 0L;
    for (Map.Entry<ShortString, FieldValue> fieldEntry : properties.entrySet()) {
        ShortString key = fieldEntry.getKey();
        FieldValue value = fieldEntry.getValue();

        tableEntrySize = tableEntrySize + key.getSize() + value.getSize();
        key.write(buf);
        value.write(buf);
    }

    buf.setInt(sizeIndex, (int) tableEntrySize);
}
 
開發者ID:wso2,項目名稱:message-broker,代碼行數:17,代碼來源:FieldTable.java

示例2: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
public static int encode(ByteBuf byteBuf, int namespaceId, int serviceId, int methodId, ByteBuf metadata) {
    int offset = 0;

    byteBuf.setShort(offset, 1);
    offset += VERSION_SIZE;

    byteBuf.setInt(offset, namespaceId);
    offset += NAMESPACE_ID_SIZE;

    byteBuf.setInt(offset, serviceId);
    offset += SERVICE_ID_SIZE;

    byteBuf.setInt(offset, methodId);
    offset += METHOD_ID_SIZE;

    int metadataLength = metadata.readableBytes();
    byteBuf.setInt(offset, metadataLength);
    offset += METADATA_LENGTH_SIZE;

    byteBuf.setBytes(offset, metadata);
    offset += metadataLength;

    byteBuf.writerIndex(offset);

    return offset;
}
 
開發者ID:netifi,項目名稱:proteus-java,代碼行數:27,代碼來源:ProteusMetadata.java

示例3: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private static void encode(long statement, String query, int[] paramDataTypes, ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(PARSE);
  out.writeInt(0);
  if(statement == 0) {
    out.writeByte(0);
  } else {
    out.writeLong(statement);
  }
  Util.writeCStringUTF8(out, query);
  // no parameter data types (OIDs)
  if(paramDataTypes == null) {
    out.writeShort(0);
  } else {
    // Parameter data types (OIDs)
    out.writeShort(paramDataTypes.length);
    for (int paramDataType : paramDataTypes) {
      out.writeInt(paramDataType);
    }
  }
  out.setInt(pos + 1, out.writerIndex() - pos - 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:23,代碼來源:Parse.java

示例4: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private static void encode(long statement, String portal, ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(DESCRIBE);
  out.writeInt(0);
  if (statement != 0) {
    out.writeByte('S');
    out.writeLong(statement);
  } else if (portal != null) {
    out.writeByte('P');
    Util.writeCStringUTF8(out, portal);
  } else {
    out.writeByte('S');
    Util.writeCStringUTF8(out, "");
  }
  out.setInt(pos + 1, out.writerIndex() - pos- 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:17,代碼來源:Describe.java

示例5: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
public void encode(ByteBuf out) {

  int pos = out.writerIndex();

  out.writeInt(0);
  // protocol version
  out.writeShort(3);
  out.writeShort(0);

  writeCString(out, BUFF_USER);
  Util.writeCStringUTF8(out, username);
  writeCString(out, BUFF_DATABASE);
  Util.writeCStringUTF8(out, database);
  writeCString(out, BUFF_APPLICATION_NAME);
  writeCString(out, BUFF_VERTX_PG_CLIENT);
  writeCString(out, BUFF_CLIENT_ENCODING);
  writeCString(out, BUFF_UTF8);
  writeCString(out, BUFF_DATE_STYLE);
  writeCString(out, BUFF_ISO);
  writeCString(out, BUFF_EXTRA_FLOAT_DIGITS);
  writeCString(out, BUFF_2);

  out.writeByte(0);
  out.setInt(pos, out.writerIndex() - pos);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:27,代碼來源:StartupMessage.java

示例6: decipherXTEA

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
/**
 * Deciphers the specified {@link ByteBuf} with the given key.
 * 
 * @param buffer The {@link ByteBuf}.
 * @param key The key.
 * @throws IllegalArgumentException if the key is not exactly 4 elements long.
 */
private static void decipherXTEA(ByteBuf buffer, int start, int end, int[] key) {
	if (key.length != 4) {
		throw new IllegalArgumentException();
	}
	int numQuads = (end - start) / 8;
	for (int i = 0; i < numQuads; i++) {
		int sum = 0x9E3779B9 * 32;
		int v0 = buffer.getInt(start + i * 8);
		int v1 = buffer.getInt(start + i * 8 + 4);
		for (int j = 0; j < 32; j++) {
			v1 -= (((v0 << 4) ^ (v0 >>> 5)) + v0) ^ (sum + key[(sum >>> 11) & 3]);
			sum -= 0x9E3779B9;
			v0 -= (((v1 << 4) ^ (v1 >>> 5)) + v1) ^ (sum + key[sum & 3]);
		}
		buffer.setInt(start + i * 8, v0);
		buffer.setInt(start + i * 8 + 4, v1);
	}
}
 
開發者ID:jordanabrahambaws,項目名稱:Quavo,代碼行數:26,代碼來源:ByteBufUtils.java

示例7: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
protected void encode(ChannelHandlerContext ctx, T msg, ByteBuf out)
        throws Exception {

    int lengthIndex = out.writerIndex();
    // length field, will be filled in later.
    out.writeInt(0);

    int startIndex = out.writerIndex();
    ByteBufOutputStream os = new ByteBufOutputStream(out);
    TCompactProtocol thriftProtocol =
            new TCompactProtocol(new TIOStreamTransport(os));
    msg.write(thriftProtocol);
    os.close();
    int endIndex = out.writerIndex();

    // update the length field
    int length = endIndex - startIndex;
    out.setInt(lengthIndex, length);
}
 
開發者ID:xuraylei,項目名稱:fresco_floodlight,代碼行數:21,代碼來源:ThriftFrameEncoder.java

示例8: testLittleEndian

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Test
public void testLittleEndian() {
  final DrillConfig drillConfig = DrillConfig.create();
  final BufferAllocator a = RootAllocatorFactory.newRoot(drillConfig);
  final ByteBuf b = a.buffer(4);
  b.setInt(0, 35);
  assertEquals(b.getByte(0), 35);
  assertEquals(b.getByte(1), 0);
  assertEquals(b.getByte(2), 0);
  assertEquals(b.getByte(3), 0);
  b.release();
  a.close();
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:14,代碼來源:TestEndianess.java

示例9: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private static void encode(String portal, int rowCount, ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(EXECUTE);
  out.writeInt(0);
  if (portal != null) {
    out.writeCharSequence(portal, StandardCharsets.UTF_8);
  }
  out.writeByte(0);
  out.writeInt(rowCount); // Zero denotes "no limit" maybe for ReadStream<Row>
  out.setInt(pos + 1, out.writerIndex() - pos - 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:12,代碼來源:Execute.java

示例10: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
public void encode(ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(QUERY);
  out.writeInt(0);
  Util.writeCStringUTF8(out, getQuery());
  out.setInt(pos + 1, out.writerIndex() - pos - 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:9,代碼來源:Query.java

示例11: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
public void encode(ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(CLOSE);
  out.writeInt(0);
  out.writeByte('S'); // 'S' to close a prepared statement or 'P' to close a portal
  Util.writeCStringUTF8(out, statement != null ? statement : "");
  out.setInt(pos + 1, out.writerIndex() - pos - 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:10,代碼來源:Close.java

示例12: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
public void encode(ByteBuf out) {
  int pos = out.writerIndex();
  out.writeInt(0);
  out.writeInt(code);
  out.writeInt(processId);
  out.writeInt(secretKey);
  out.setInt(pos, out.writerIndex() - pos);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:10,代碼來源:CancelRequest.java

示例13: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
public void encode(ByteBuf out) {
  int pos = out.writerIndex();
  out.writeByte(PASSWORD_MESSAGE);
  out.writeInt(0);
  Util.writeCStringUTF8(out, hash);
  out.setInt(pos + 1, out.writerIndex() - pos- 1);
}
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:9,代碼來源:PasswordMessage.java

示例14: channelActive

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
  public void channelActive(ChannelHandlerContext ctx) throws Exception {
    ByteBuf byteBuf = Unpooled.buffer();
    byteBuf.writeInt(0);
    byteBuf.writeInt(code);
//    out.writeInt(0x12345679);
    byteBuf.setInt(0, byteBuf.writerIndex());
    ctx.writeAndFlush(byteBuf);
    super.channelActive(ctx);
  }
 
開發者ID:vietj,項目名稱:reactive-pg-client,代碼行數:11,代碼來源:InitiateSslHandler.java

示例15: encode

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
@Override
protected void encode(final ChannelHandlerContext ctx, final Object msg, final ByteBuf out) throws Exception {
    int startIdx = out.writerIndex();
    kryoPool.encode(out, msg);
    int endIdx = out.writerIndex();
    out.setInt(startIdx, endIdx - startIdx - 4);
}
 
開發者ID:terrymanu,項目名稱:miracle-remote,代碼行數:8,代碼來源:KryoEncoder.java


注:本文中的io.netty.buffer.ByteBuf.setInt方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。