View Javadoc

1   //
2   //  ========================================================================
3   //  Copyright (c) 1995-2016 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.http2.frames;
20  
21  import java.util.Map;
22  
23  public class SettingsFrame extends Frame
24  {
25      public static final int HEADER_TABLE_SIZE = 1;
26      public static final int ENABLE_PUSH = 2;
27      public static final int MAX_CONCURRENT_STREAMS = 3;
28      public static final int INITIAL_WINDOW_SIZE = 4;
29      public static final int MAX_FRAME_SIZE = 5;
30      public static final int MAX_HEADER_LIST_SIZE = 6;
31      
32      private final Map<Integer, Integer> settings;
33      private final boolean reply;
34  
35      public SettingsFrame(Map<Integer, Integer> settings, boolean reply)
36      {
37          super(FrameType.SETTINGS);
38          this.settings = settings;
39          this.reply = reply;
40      }
41  
42      public Map<Integer, Integer> getSettings()
43      {
44          return settings;
45      }
46  
47      public boolean isReply()
48      {
49          return reply;
50      }
51  
52      @Override
53      public String toString()
54      {
55          return String.format("%s,reply=%b:%s", super.toString(), reply, settings);
56      }
57  }