1 // ======================================================================== 2 // Copyright (c) 2004-2009 Mort Bay Consulting Pty. Ltd. 3 // ------------------------------------------------------------------------ 4 // All rights reserved. This program and the accompanying materials 5 // are made available under the terms of the Eclipse Public License v1.0 6 // and Apache License v2.0 which accompanies this distribution. 7 // The Eclipse Public License is available at 8 // http://www.eclipse.org/legal/epl-v10.html 9 // The Apache License v2.0 is available at 10 // http://www.opensource.org/licenses/apache2.0.php 11 // You may elect to redistribute this code under either of these licenses. 12 // ======================================================================== 13 14 package org.eclipse.jetty.io; 15 16 17 /* ------------------------------------------------------------ */ 18 /** BufferSource. 19 * Represents a pool or other source of buffers and abstracts the creation 20 * of specific types of buffers (eg NIO). The concept of big and little buffers 21 * is supported, but these terms have no absolute meaning and must be determined by context. 22 * 23 */ 24 public interface Buffers 25 { 26 enum Type { BYTE_ARRAY, DIRECT, INDIRECT } ; 27 28 Buffer getHeader(); 29 Buffer getBuffer(); 30 Buffer getBuffer(int size); 31 32 void returnBuffer(Buffer buffer); 33 }