1 // ======================================================================== 2 // Copyright (c) 2006-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.http; 15 16 import java.io.IOException; 17 18 /** 19 * Abstract interface for a connection Parser for use by Jetty. 20 */ 21 public interface Parser 22 { 23 void reset(boolean returnBuffers); 24 25 boolean isComplete(); 26 27 /** 28 * @return An indication of progress, typically the number of bytes filled plus the events parsed: -1 means EOF read, 0 no progress, >0 progress 29 * @throws IOException 30 */ 31 int parseAvailable() throws IOException; 32 33 boolean isMoreInBuffer() throws IOException; 34 35 boolean isIdle(); 36 37 }