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 returnBuffers(); 24 void reset(); 25 26 boolean isComplete(); 27 28 /** 29 * @return True if progress made 30 * @throws IOException 31 */ 32 boolean parseAvailable() throws IOException; 33 34 boolean isMoreInBuffer() throws IOException; 35 36 boolean isIdle(); 37 38 boolean isPersistent(); 39 40 void setPersistent(boolean persistent); 41 42 }