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


Java ByteBuf.writeZero方法代碼示例

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


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

示例1: writeFixLength

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
/**
 * 給 ByteBuf 寫入定長字符串
 * <p>
 * 若字符串長度大於定長,則截取定長字節;若小於定長,則補零
 *
 * @param buf
 * @param content
 * @param length
 */
public static void writeFixLength(ByteBuf buf, String content, int length) {
    byte[] bytes = content.getBytes(CharsetUtil.UTF_8);
    int blen = bytes.length;
    int wlen = blen > length ? length : blen;
    buf.writeBytes(bytes, 0, wlen);
    if (wlen < length) {
        buf.writeZero(length - wlen);
    }
}
 
開發者ID:rodbate,項目名稱:fastdfs-spring-boot,代碼行數:19,代碼來源:FastdfsUtils.java

示例2: getPadding

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private static ByteBuf getPadding(int headerSize)
{
    int paddingSize = 4 - headerSize % 4;
    ByteBuf padding = Unpooled.buffer(paddingSize);
    padding.writeZero(paddingSize);
    return padding;
}
 
開發者ID:airlift,項目名稱:drift,代碼行數:8,代碼來源:HeaderMessageEncoding.java

示例3: handleUFormat

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private void handleUFormat ( final UnnumberedControl msg, final ByteBuf out )
{
    out.ensureWritable ( 6 );
    out.writeByte ( Constants.START_BYTE );
    out.writeByte ( 4 );
    out.writeByte ( msg.getFunction ().getNumericValue () | 0x03 /* bits 1 and 2*/);
    out.writeZero ( 3 );
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:9,代碼來源:APDUEncoder.java

示例4: processOption

import io.netty.buffer.ByteBuf; //導入方法依賴的package包/類
private String processOption(ChannelHandlerContext ctx, ByteBuf in) throws IOException {
     switch (currentOption) {
         case Protocol.NBD_OPT_EXPORT_NAME:
             CharSequence exportName = in.readCharSequence((int) currentOptionLen, Charset.forName("UTF-8"));

             if (!exportProvider.supportsClientFlags(clientFlags)) {
                 LOGGER.error("client flags {} not supported", clientFlags);
                 ctx.channel().close();
                 break;
             }

             long exportSize = 0;
             if ((exportSize = exportProvider.open(exportName)) < 0) {
                 // ep us unwilling to export this name
                 ctx.channel().close();
                 break;
             }

/* build response */
             ByteBuf resp = ctx.alloc().buffer(256);
             resp.writeLong(exportSize);
             short transmissionFlags =
                     Protocol.NBD_FLAG_HAS_FLAGS
                             | Protocol.NBD_FLAG_SEND_FLUSH
                             | Protocol.NBD_FLAG_SEND_TRIM;
             resp.writeShort(transmissionFlags);

             if ((clientFlags & Protocol.NBD_FLAG_NO_ZEROES) == 0) {
                 resp.writeZero(124);
             }
             ctx.writeAndFlush(resp);

             //FIXME: transfer any remaining bytes into the transmission phase!
         /* The NBD protocol has two phases: the handshake (HS_) and the transmission (TM_) */
             // Handshake complete, switch to transmission phase
             ctx.pipeline().addLast("transmission", new TransmissionPhase(config, exportProvider));
             ctx.pipeline().remove(this);
             return exportName.toString();

         default:
             sendHandshakeOptionHagglingReply(ctx, currentOption, Protocol.NBD_REP_ERR_UNSUP, null);
     }
     return null;
 }
 
開發者ID:MineboxOS,項目名稱:minebox,代碼行數:45,代碼來源:HandshakePhase.java


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