
io.jsync.http.impl.AssembledLastHttpContent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsync.io Show documentation
Show all versions of jsync.io Show documentation
jsync.io is a non-blocking, event-driven networking framework for Java
/*
* Copyright (c) 2011-2013 The original author or authors
* ------------------------------------------------------
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.jsync.http.impl;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.DefaultByteBufHolder;
import io.netty.handler.codec.DecoderResult;
import io.netty.handler.codec.http.HttpContent;
import io.netty.handler.codec.http.HttpHeaders;
import io.netty.handler.codec.http.LastHttpContent;
/**
* Helper wrapper class which allows to assemble a ByteBuf and a HttpHeaders into one "packet" and so more
* efficient write it through the pipeline.
*
* @author Norman Maurer
*/
class AssembledLastHttpContent extends DefaultByteBufHolder implements LastHttpContent {
private final HttpHeaders trailingHeaders;
private DecoderResult result;
public AssembledLastHttpContent(ByteBuf buf, HttpHeaders trailingHeaders, DecoderResult result) {
super(buf);
this.trailingHeaders = trailingHeaders;
this.result = result;
}
@Override
public HttpHeaders trailingHeaders() {
return trailingHeaders;
}
@Override
public LastHttpContent copy() {
throw new UnsupportedOperationException();
}
@Override
public LastHttpContent retain(int increment) {
super.retain(increment);
return this;
}
@Override
public LastHttpContent retain() {
super.retain();
return this;
}
@Override
public HttpContent duplicate() {
throw new UnsupportedOperationException();
}
@Override
public DecoderResult getDecoderResult() {
return result;
}
@Override
public void setDecoderResult(DecoderResult result) {
this.result = result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy