1 //
2 // ========================================================================
3 // Copyright (c) 1995-2013 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
19 package org.eclipse.jetty.spdy.frames;
20
21 import org.eclipse.jetty.spdy.api.DataInfo;
22
23 public class DataFrame
24 {
25 public static final int HEADER_LENGTH = 8;
26
27 private final int streamId;
28 private final byte flags;
29 private final int length;
30
31 public DataFrame(int streamId, byte flags, int length)
32 {
33 this.streamId = streamId;
34 this.flags = flags;
35 this.length = length;
36 }
37
38 public int getStreamId()
39 {
40 return streamId;
41 }
42
43 public byte getFlags()
44 {
45 return flags;
46 }
47
48 public int getLength()
49 {
50 return length;
51 }
52
53 public boolean isClose()
54 {
55 return (flags & DataInfo.FLAG_CLOSE) == DataInfo.FLAG_CLOSE;
56 }
57
58 @Override
59 public String toString()
60 {
61 return String.format("DATA frame stream=%d length=%d close=%b", getStreamId(), getLength(), isClose());
62 }
63 }