All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.jetty.http.HttpBuffers Maven / Gradle / Ivy

There is a newer version: 11.0.0.beta1
Show newest version
// ========================================================================
// Copyright (c) 2004-2009 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// 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 org.eclipse.jetty.http;

import org.eclipse.jetty.io.Buffers;
import org.eclipse.jetty.io.BuffersFactory;
import org.eclipse.jetty.util.component.AbstractLifeCycle;

/* ------------------------------------------------------------ */
/** Abstract Buffer pool.
 * simple unbounded pool of buffers for header, request and response sizes.
 *
 */
public class HttpBuffers extends AbstractLifeCycle
{
    private int _requestBufferSize=12*1024;
    private int _requestHeaderSize=6*1024;
    private int _responseBufferSize=32*1024;
    private int _responseHeaderSize=6*1024;
    private int _maxBuffers=1024;
    
    private Buffers.Type _requestBufferType=Buffers.Type.BYTE_ARRAY;
    private Buffers.Type _requestHeaderType=Buffers.Type.BYTE_ARRAY;
    private Buffers.Type _responseBufferType=Buffers.Type.BYTE_ARRAY;
    private Buffers.Type _responseHeaderType=Buffers.Type.BYTE_ARRAY;
    
    private Buffers _requestBuffers;
    private Buffers _responseBuffers;
    
    
    public HttpBuffers()
    {
        super();
    }
    
    /**
     * @return the requestBufferSize
     */
    public int getRequestBufferSize()
    {
        return _requestBufferSize;
    }
    
    /**
     * @param requestBufferSize the requestBufferSize to set
     */
    public void setRequestBufferSize(int requestBufferSize)
    {
        _requestBufferSize = requestBufferSize;
    }

    /**
     * @return the requestHeaderSize
     */
    public int getRequestHeaderSize()
    {
        return _requestHeaderSize;
    }

    /**
     * @param requestHeaderSize the requestHeaderSize to set
     */
    public void setRequestHeaderSize(int requestHeaderSize)
    {
        _requestHeaderSize = requestHeaderSize;
    }

    /**
     * @return the responseBufferSize
     */
    public int getResponseBufferSize()
    {
        return _responseBufferSize;
    }

    /**
     * @param responseBufferSize the responseBufferSize to set
     */
    public void setResponseBufferSize(int responseBufferSize)
    {
        _responseBufferSize = responseBufferSize;
    }

    /**
     * @return the responseHeaderSize
     */
    public int getResponseHeaderSize()
    {
        return _responseHeaderSize;
    }

    /**
     * @param responseHeaderSize the responseHeaderSize to set
     */
    public void setResponseHeaderSize(int responseHeaderSize)
    {
        _responseHeaderSize = responseHeaderSize;
    }

    /**
     * @return the requestBufferType
     */
    public Buffers.Type getRequestBufferType()
    {
        return _requestBufferType;
    }

    /**
     * @param requestBufferType the requestBufferType to set
     */
    protected void setRequestBufferType(Buffers.Type requestBufferType)
    {
        _requestBufferType = requestBufferType;
    }

    /**
     * @return the requestHeaderType
     */
    public Buffers.Type getRequestHeaderType()
    {
        return _requestHeaderType;
    }

    /**
     * @param requestHeaderType the requestHeaderType to set
     */
    protected void setRequestHeaderType(Buffers.Type requestHeaderType)
    {
        _requestHeaderType = requestHeaderType;
    }

    /**
     * @return the responseBufferType
     */
    public Buffers.Type getResponseBufferType()
    {
        return _responseBufferType;
    }

    /**
     * @param responseBufferType the responseBufferType to set
     */
    protected void setResponseBufferType(Buffers.Type responseBufferType)
    {
        _responseBufferType = responseBufferType;
    }

    /**
     * @return the responseHeaderType
     */
    public Buffers.Type getResponseHeaderType()
    {
        return _responseHeaderType;
    }

    /**
     * @param responseHeaderType the responseHeaderType to set
     */
    protected void setResponseHeaderType(Buffers.Type responseHeaderType)
    {
        _responseHeaderType = responseHeaderType;
    }

    /**
     * @param requestBuffers the requestBuffers to set
     */
    public void setRequestBuffers(Buffers requestBuffers)
    {
        _requestBuffers = requestBuffers;
    }

    /**
     * @param responseBuffers the responseBuffers to set
     */
    public void setResponseBuffers(Buffers responseBuffers)
    {
        _responseBuffers = responseBuffers;
    }

    @Override
    protected void doStart()
        throws Exception
    {
        _requestBuffers=BuffersFactory.newBuffers(_requestHeaderType,_requestHeaderSize,_requestBufferType,_requestBufferSize,_requestBufferType,getMaxBuffers());
        _responseBuffers=BuffersFactory.newBuffers(_responseHeaderType,_responseHeaderSize,_responseBufferType,_responseBufferSize,_responseBufferType,getMaxBuffers());
        super.doStart();
    }
    
    @Override
    protected void doStop()
        throws Exception
    {
        _requestBuffers=null;
        _responseBuffers=null;
    }

    public Buffers getRequestBuffers()
    {
        return _requestBuffers;
    }
    

    public Buffers getResponseBuffers()
    {
        return _responseBuffers;
    }

    public void setMaxBuffers(int maxBuffers)
    {
        _maxBuffers = maxBuffers;
    }

    public int getMaxBuffers()
    {
        return _maxBuffers;
    }
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy