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


Java ByteBufOutputStream.close方法代碼示例

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


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

示例1: encode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的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

示例2: channelActive

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
public void channelActive(ChannelHandlerContext context) throws Exception {
  ByteBuf buffer = context.alloc().ioBuffer(1024);
  boolean success = false;
  try {
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    for (String path : myLockedPaths) out.writeUTF(path);
    out.writeUTF(PATHS_EOT_RESPONSE);
    out.close();
    success = true;
  }
  finally {
    if (!success) {
      buffer.release();
    }
  }
  context.writeAndFlush(buffer);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:19,代碼來源:SocketLock.java

示例3: encode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
protected void encode(ChannelHandlerContext ctx, Serializable msg, ByteBuf out) throws Exception {
    KryoContext kryoContext = kryoContextHolder.get();
    Kryo kryo = kryoContext.getKryo();
    Output output = kryoContext.getOut();
    output.clear();
    ByteBufOutputStream bout = new ByteBufOutputStream(out);
    int startIdx = out.writerIndex();
    bout.write(LENGTH_PLACEHOLDER);
    output.setOutputStream(bout);
    output.writeByte(StreamMessageDecoder.KRYO_STREAM_VERSION);
    kryo.writeClassAndObject(output, msg);
    output.flush();
    bout.flush();
    bout.close();
    output.close();
    
    int endIdx = out.writerIndex();

    out.setInt(startIdx, endIdx - startIdx - 4);
}
 
開發者ID:pulsarIO,項目名稱:jetstream,代碼行數:22,代碼來源:KryoObjectEncoder.java

示例4: networkedNbt

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
public void networkedNbt(NBTTagCompound tag) {
    if (!this.worldObj.isRemote) {
        try {
            super.writeToNBT(tag); // Coordinates
            ByteBufOutputStream out = new ByteBufOutputStream(Unpooled.buffer());
            out.writeByte(PlayBlockPayload.Type.TILE_ENTITY_NBT.ordinal());
            ByteBufUtils.writeTag(out.buffer(), tag);
            FMLProxyPacket packet = new FMLProxyPacket(out.buffer(), PlayBlock.CHANNEL_ID);
            SharedRuntime.networkWrapper.sendToAllAround(packet, new NetworkRegistry.TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
            out.close();
        } catch (IOException e) {
            PlayBlock.log(Level.WARN, "Failed to send tile info to players!");
        }
    }
}
 
開發者ID:sk89q,項目名稱:playblock,代碼行數:17,代碼來源:TileEntityProjector.java

示例5: merge

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
public ByteBuf merge(final JsonGenerator jg, final List<TSMeta> metas) {
	merges++;
	final ByteBufOutputStream os = (ByteBufOutputStream)jg.getOutputTarget();
	final ByteBuf buff = os.buffer();
	//System.err.println("MetaBatch:" + metas.size() + ", Merges:" + merges);
	try {
		int cnt = 0;
		for(final TSMeta tsMeta: metas) {
			if(tsMeta==null) continue;
			jg.writeStartObject();				// start of query
			jg.writeStringField("aggregator", aggregator.name().toLowerCase());
			if(rateOptions!=null) {
				jg.writeStringField("rate", "true");  // FIXME
			}
			if(downSampling!=null) {
				jg.writeStringField("downsample", downSampling);
			}
			
			jg.writeArrayFieldStart("tsuids");								
			jg.writeString(tsMeta.getTSUID());
			jg.writeEndArray();					// end of tsuids
			jg.writeEndObject();				// end of query
			cnt++;
		}  // end of TSMetas
		log.info("Wrote {} TSDUID Queries", cnt);
		jg.writeEndArray(); // end of queries array
		jg.writeEndObject(); // end of request
		jg.flush();
		os.flush();
		jg.close();
		os.close();
		log.info("TSDB Request:\n{}", buff.toString(UTF8));
		return buff;
	} catch (Exception ex) {
		throw new RuntimeException(ex);
	}
}
 
開發者ID:nickman,項目名稱:HeliosStreams,代碼行數:38,代碼來源:RequestBuilder.java

示例6: writeMessage

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@SneakyThrows(IOException.class)
private void writeMessage(AppendBlock block, ByteBuf out) {
    int startIdx = out.writerIndex();
    ByteBufOutputStream bout = new ByteBufOutputStream(out);
    bout.writeInt(block.getType().getCode());
    bout.write(LENGTH_PLACEHOLDER);
    block.writeFields(bout);
    bout.flush();
    bout.close();
    int endIdx = out.writerIndex();
    int fieldsSize = endIdx - startIdx - TYPE_PLUS_LENGTH_SIZE;
    out.setInt(startIdx + TYPE_SIZE, fieldsSize + currentBlockSize);
}
 
開發者ID:pravega,項目名稱:pravega,代碼行數:14,代碼來源:CommandEncoder.java

示例7: toBytes

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

    try {
        ByteBufOutputStream bbos = new ByteBufOutputStream(buf);
        write(bbos);
        bbos.flush();
        bbos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
開發者ID:Qmunity,項目名稱:QmunityLib,代碼行數:13,代碼來源:Packet.java

示例8: encode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
protected void encode(ChannelHandlerContext ctx, CLLPacket msg, List<Object> out) throws Exception {
	Class<? extends CLLPacket> packetClass = msg.getClass();
	if(registeredPackets.contains(packetClass)){
		ByteBuf writeBuffer = Unpooled.buffer();
		ByteBufOutputStream bbos = new ByteBufOutputStream(writeBuffer);
		writeBuffer.writeByte(registeredPackets.indexOf(packetClass));
		msg.writeDataTo(bbos);
		FMLProxyPacket packet = new FMLProxyPacket(new PacketBuffer(writeBuffer.copy()), MOD_CHANNEL);
		bbos.close();
		out.add(packet);
	}
}
 
開發者ID:Phlenum,項目名稱:Combustible-Lemon-Launcher,代碼行數:14,代碼來源:CLLPacketHandler.java

示例9: decode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
protected ResourceState decode(HttpResponse response) throws Exception {
    ByteBuf buffer = Unpooled.buffer();
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    response.getEntity().writeTo(out);
    out.flush();
    out.close();
    System.err.println("===================");
    System.err.println(buffer.toString(Charset.defaultCharset()));
    System.err.println("===================");
    return system.codecManager().decode(MediaType.JSON, buffer);
}
 
開發者ID:liveoak-io,項目名稱:liveoak,代碼行數:12,代碼來源:BasicServerTest.java

示例10: decode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
protected ResourceState decode(HttpResponse response) throws Exception {
    ByteBuf buffer = Unpooled.buffer();
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    response.getEntity().writeTo(out);
    out.flush();
    out.close();
    return system.codecManager().decode(MediaType.GIT_APP_JSON, buffer);
}
 
開發者ID:liveoak-io,項目名稱:liveoak,代碼行數:9,代碼來源:GitApplicationsResourceTest.java

示例11: decode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
protected ResourceState decode(HttpResponse response) throws Exception {
    ByteBuf buffer = Unpooled.buffer();
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    response.getEntity().writeTo(out);
    out.flush();
    out.close();
    System.err.println("========= HttpResponse ==========");
    System.err.println(buffer.toString(Charset.defaultCharset()));
    System.err.println("===================");
    return system.codecManager().decode(MediaType.LOCAL_APP_JSON, buffer);
}
 
開發者ID:liveoak-io,項目名稱:liveoak,代碼行數:12,代碼來源:LocalApplicationsResourceTest.java

示例12: decode

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
protected ResourceState decode(HttpResponse response) throws Exception {
    ByteBuf buffer = Unpooled.buffer();
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    response.getEntity().writeTo(out);
    out.flush();
    out.close();
    System.err.println("========= HttpResponse ==========");
    System.err.println(buffer.toString(Charset.defaultCharset()));
    System.err.println("===================");
    return system.codecManager().decode(MediaType.JSON, buffer);
}
 
開發者ID:liveoak-io,項目名稱:liveoak,代碼行數:12,代碼來源:AbstractContainerTest.java

示例13: toResourceState

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
protected ResourceState toResourceState(HttpEntity entity, MediaType contentType) throws Exception {
    ByteBuf buffer = Unpooled.buffer();
    ByteBufOutputStream out = new ByteBufOutputStream(buffer);
    entity.writeTo(out);
    out.flush();
    out.close();
    return this.system.codecManager().decode(contentType, buffer);
}
 
開發者ID:liveoak-io,項目名稱:liveoak,代碼行數:9,代碼來源:AbstractHTTPResourceTestCase.java

示例14: handle

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
public void handle(ChannelHandlerContext context, URI uri, FullHttpRequest request) throws Exception {
    if (request.getMethod() != HttpMethod.GET) {
        sendHttpResponse(context, request, new DefaultFullHttpResponse(HTTP_1_1, METHOD_NOT_ALLOWED));
        return;
    }
    String modified = request.headers().get(IF_MODIFIED_SINCE);
    if (modified != null && !modified.isEmpty()) {
        Date modifiedDate = format.parse(modified);

        if (modifiedDate.equals(plugin.getStartUpDate())) {
            sendHttpResponse(context, request, new DefaultFullHttpResponse(HTTP_1_1, NOT_MODIFIED));
            return;
        }
    }

    String path = uri.getPath();
    if (path.equals("/")) {
        path = "/index.html";
    }

    ByteBuf buffer;
    try (InputStream stream = this.getClass().getClassLoader().getResourceAsStream("www" + path)) {
        if (stream == null) {
            sendHttpResponse(context, request, new DefaultFullHttpResponse(HTTP_1_1, NOT_FOUND));
            return;
        }
        ByteBufOutputStream out = new ByteBufOutputStream(context.alloc().buffer());
        IOUtils.copy(stream, out);
        buffer = out.buffer();
        out.close();
    }

    if (path.equals("/index.html")) {
        String page = buffer.toString(Charsets.UTF_8);
        page = page.replaceAll("%SERVERPORT%", Integer.toString(plugin.getConfiguration().getPort()));
        buffer.release();
        buffer = Unpooled.wrappedBuffer(page.getBytes(Charsets.UTF_8));
    }

    FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, OK, buffer);

    response.headers().set(DATE, format.format(new Date()));
    response.headers().set(LAST_MODIFIED, format.format(plugin.getStartUpDate()));


    String ext = path.substring(path.lastIndexOf('.') + 1);
    String type = mimeTypes.containsKey(ext) ? mimeTypes.get(ext) : "text/plain";
    if (type.startsWith("text/")) {
        type += "; charset=UTF-8";
    }
    response.headers().set(CONTENT_TYPE, type);
    sendHttpResponse(context, request, response);
}
 
開發者ID:Thinkofname,項目名稱:ThinkMap,代碼行數:55,代碼來源:InternalWebServer.java

示例15: handle

import io.netty.buffer.ByteBufOutputStream; //導入方法依賴的package包/類
@Override
public void handle(ChannelHandlerContext context, URI uri, FullHttpRequest request) throws Exception {
    File file = new File(plugin.getResourceDir(), uri.getPath().substring("/resources/".length()));
    if (!file.exists()) {
        sendHttpResponse(context, request, new DefaultFullHttpResponse(HTTP_1_1, NOT_FOUND));
        return;
    }

    String modified = request.headers().get(IF_MODIFIED_SINCE);
    if (modified != null && !modified.isEmpty()) {
        Date modifiedDate = format.parse(modified);

        if (modifiedDate.equals(plugin.getStartUpDate())) {
            sendHttpResponse(context, request, new DefaultFullHttpResponse(HTTP_1_1, NOT_MODIFIED));
            return;
        }
    }

    ByteBuf buffer;
    try (InputStream stream = new FileInputStream(file)) {
        ByteBufOutputStream out = new ByteBufOutputStream(context.alloc().buffer());
        IOUtils.copy(stream, out);
        buffer = out.buffer();
        out.close();
    }

    FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, OK, buffer);

    response.headers().set(DATE, format.format(new Date()));
    response.headers().set(LAST_MODIFIED, format.format(plugin.getStartUpDate()));

    if (uri.getPath().startsWith("/resources/assets")) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.MONTH, 1);
        response.headers().set(EXPIRES, format.format(calendar.getTime()));
        response.headers().set(CACHE_CONTROL, "public, max-age=2592000");
    }

    String path = uri.getPath();
    String ext = path.substring(path.lastIndexOf('.') + 1);
    String type = mimeTypes.containsKey(ext) ? mimeTypes.get(ext) : "text/plain";
    if (type.startsWith("text/")) {
        type += "; charset=UTF-8";
    }
    response.headers().set(CONTENT_TYPE, type);
    response.headers().add("Access-Control-Allow-Origin", "*");
    sendHttpResponse(context, request, response);
}
 
開發者ID:Thinkofname,項目名稱:ThinkMap,代碼行數:50,代碼來源:ResourcesServer.java


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