1//
2//  ========================================================================
3//  Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
4//  ------------------------------------------------------------------------
5//  All rights reserved. This program and the accompanying materials
6//  are made available under the terms of the Eclipse Public License v1.0
7//  and Apache License v2.0 which accompanies this distribution.
8//
9//      The Eclipse Public License is available at
10//      http://www.eclipse.org/legal/epl-v10.html
11//
12//      The Apache License v2.0 is available at
13//      http://www.opensource.org/licenses/apache2.0.php
14//
15//  You may elect to redistribute this code under either of these licenses.
16//  ========================================================================
17//
18
19package org.eclipse.jetty.http;
20
21import java.io.IOException;
22
23/**
24 * Abstract interface for a connection Parser for use by Jetty.
25 */
26public interface Parser
27{
28    void returnBuffers();
29    void reset();
30
31    boolean isComplete();
32
33    /**
34     * @return True if progress made
35     * @throws IOException
36     */
37    boolean parseAvailable() throws IOException;
38
39    boolean isMoreInBuffer() throws IOException;
40
41    boolean isIdle();
42
43    boolean isPersistent();
44
45    void setPersistent(boolean persistent);
46
47}
48