Project

General

Profile

7824a.patch

Sergey Ivanovskiy, 12/08/2023 02:16 AM

Download (25.1 KB)

View differences:

src/com/goldencode/p2j/main/ClientBuilderOptions.java 2023-12-08 06:53:47 +0000
27 27
**         20210926 Moved "getAvailablePorts" logic to WebClientsManager.
28 28
** 012 SBI 20230411 Added getOverriddenOptions(), overrideClientOption, overrideWebClientPortOption.
29 29
** 013 GBB 20230512 Logging methods replaced by CentralLogger/ConversionStatus.
30
** 014 SBI 20231208 Applied the debug profile if the web client starts the java debug agent.
30 31
*/
31 32
/*
32 33
** This program is free software: you can redistribute it and/or modify
......
308 309
      if (debuggerPort > 0)
309 310
      {
310 311
         updateJvmArgument("-Xrunjdwp:transport", String.format(DEBUGGER_TRANSPORT, debuggerPort));
312
         applyDebugProfile();
311 313
      }
312 314
   }
313 315

  
......
326 328
   }
327 329

  
328 330
   /**
331
    * Apply debug profile to simplify web client debugging, using breakpoints while
332
    * web client forced to be inactive.
333
    */
334
   public void applyDebugProfile()
335
   {
336
      overrideClientOption("webSocketTimeout", String.valueOf(WebClientDebugConfig.MAX_IDLE_TIME), true);
337
      overrideClientOption("watchdogTimeout", String.valueOf(WebClientDebugConfig.WATCH_DOG_TIMEOUT), true);
338
      overrideClientOption("maxIdleTime", String.valueOf(WebClientDebugConfig.MAX_IDLE_TIME), true);
339
      overrideClientOption("maxHttpIdleTimeout", String.valueOf(WebClientDebugConfig.INFINITE_TIMEOUT), true);
340
      overrideClientOption("delayBetweenTriesToConnect", String.valueOf(WebClientDebugConfig.DELAY_BETWEEN_CONNECT_TRIES), true);
341
      overrideClientOption("pingPongInterval", String.valueOf(WebClientDebugConfig.PING_PONG_INTERVAL), true);
342
      overrideClientOption("maxLostPings", String.valueOf(WebClientDebugConfig.MAX_LOST_PINGS), true);
343
      overrideClientOption("delayBetweenPingTries", String.valueOf(WebClientDebugConfig.DELAY_BETWEEN_PING_TRIES), true);
344
      overrideClientOption("enableDebugLogging", String.valueOf(WebClientDebugConfig.ENABLE_DEBUG_LOGGING), true);
345
   }
346
   
347
   /**
348
    * Add the given named option to the overridden options map.
349
    * 
350
    * @param    name
351
    *           The option name
352
    * @param    value
353
    *           The option value
354
    * @param    debug
355
    *           The boolean value that indicates that the option needs to be logged. 
356
    */
357
   public void overrideClientOption(String name, String value, boolean debug)
358
   {
359
      overriddenOptions.put(name, value);
360
      if (debug)
361
      {
362
         warn(name, value);
363
      }
364
   }
365

  
366
   /**
329 367
    * Add the given named option to the overridden options map.
330 368
    * 
331 369
    * @param    name
......
335 373
    */
336 374
   public void overrideClientOption(String name, String value)
337 375
   {
338
      overriddenOptions.put(name, value);
376
      overrideClientOption(name, value, false);
339 377
   }
340 378

  
341 379
   /**
......
433 471
   }
434 472

  
435 473
   /**
474
    * Logs a warning that the parameter is overridden with new value
475
    * 
476
    * @param    parameter
477
    *           The parameter name
478
    * @param    value
479
    *           The parameter value
480
    */
481
   private static void warn(String parameter, String value)
482
   {
483
      LOG.warning("DEBUG MODE: " + parameter + " = " + value);
484
   }
485

  
486
   /**
436 487
    * Get default path as the p2j.jar file location.
437 488
    * 
438 489
    * @return  Path to p2j.jar file.
src/com/goldencode/p2j/main/WebClientBuilderOptions.java 2023-12-08 06:58:17 +0000
32 32
** 009 SBI 20230411 Added lang option and changed getClientOptions to use getOverriddenOptions()
33 33
** 010 GBB 20230825 Cleanup for embedded.
34 34
** 011 GBB 20231121 Added broadcastChannelPingTimeout.
35
** 012 SBI 20231208 Used the common constants.
35 36
 */
36 37
/*
37 38
** This program is free software: you can redistribute it and/or modify
......
258 259
   
259 260
      // common websocket parameters
260 261
      int maxBinaryMessage = cbo.getNode(DIRECTORY_NODE_ID,
261
                                         "maxBinaryMessage",
262
                                         MAX_BINARY_MESSAGE_SIZE_PARAM,
262 263
                                         MAX_BINARY_MESSAGE_SIZE);
263 264
      int maxTextMessage   = cbo.getNode(DIRECTORY_NODE_ID,
264
                                         "maxTextMessage",
265
                                         MAX_TEXT_MESSAGE_SIZE_PARAM,
265 266
                                         MAX_TEXT_MESSAGE_SIZE);
266
      int maxIdleTime      = cbo.getNode(DIRECTORY_NODE_ID, "maxIdleTime", MAX_WEB_SOCKET_IDLE_TIMEOUT);
267
      int maxIdleTime      = cbo.getNode(DIRECTORY_NODE_ID,
268
                                         MAX_IDLE_TIME_PARAM,
269
                                         MAX_WEB_SOCKET_IDLE_TIMEOUT);
267 270
      
268 271
      int delayBetweenTriesToConnect = cbo.getNode(DIRECTORY_NODE_ID,
269
                                                   "delayBetweenTriesToConnect",
272
                                                   DELAY_BETWEEN_CONNECT_TRIES_PARAM,
270 273
                                                   DELAY_BETWEEN_CONNECT_TRIES);
271 274
      String tryToConnectMessage =  quotedString(cbo.getNode(DIRECTORY_NODE_ID,
272
                                                             "tryToConnectMessage",
275
                                                             TRY_TO_CONNECT_MESSAGE_PARAM,
273 276
                                                             TRY_TO_CONNECT_MESSAGE));
274 277
      String serverUnavailableMessage = quotedString(cbo.getNode(DIRECTORY_NODE_ID,
275
                                                                 "serverUnavailableMessage",
278
                                                                 SERVER_UNAVAILABLE_MESSAGE_PARAM,
276 279
                                                                 SERVER_UNAVAILABLE_MESSAGE));
277 280
      String connectionRestoredMessage = quotedString(cbo.getNode(DIRECTORY_NODE_ID,
278
                                                                  "connectionRestoredMessage",
281
                                                                  CONNECTION_RESTORED_MESSAGE_PARAM,
279 282
                                                                  CONNECTION_RESTORED_MESSAGE));
280
      int pingPongInterval = cbo.getNode(DIRECTORY_NODE_ID, "pingPongInterval", PING_PONG_INTERVAL);
281
      
282
      int maxLostPings = cbo.getNode(DIRECTORY_NODE_ID, "maxLostPings", MAX_LOST_PINGS);
283
      
284
      int delayBetweenPingTries = cbo.getNode(DIRECTORY_NODE_ID, "delayBetweenPingTries", DELAY_BETWEEN_PING_TRIES);
283
      int pingPongInterval = cbo.getNode(DIRECTORY_NODE_ID,
284
                                         PING_PONG_INTERVAL_PARAM,
285
                                         PING_PONG_INTERVAL);
286
      
287
      int maxLostPings = cbo.getNode(DIRECTORY_NODE_ID,
288
                                     MAX_LOST_PINGS_PARAM,
289
                                     MAX_LOST_PINGS);
290
      
291
      int delayBetweenPingTries = cbo.getNode(DIRECTORY_NODE_ID,
292
                                              DELAY_BETWEEN_PING_TRIES_PARAM,
293
                                              DELAY_BETWEEN_PING_TRIES);
285 294
      
286 295
      //http configuration settings for the embedded web server
287
      int maxOutputBufferSize = cbo.getNode(DIRECTORY_NODE_ID, "maxOutputBufferSize", OUTPUT_BUFFER_SIZE);
296
      int maxOutputBufferSize = cbo.getNode(DIRECTORY_NODE_ID,
297
                                            MAX_OUTPUT_BUFFER_SIZE_PARAM,
298
                                            OUTPUT_BUFFER_SIZE);
288 299
      options.put("maxOutputBufferSize", String.valueOf(maxOutputBufferSize));
289
      int maxOutputAggregationSize = cbo.getNode(DIRECTORY_NODE_ID, "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE);
300
      int maxOutputAggregationSize = cbo.getNode(DIRECTORY_NODE_ID,
301
                                                 MAX_OUTPUT_AGGREGATION_SIZE_PARAM,
302
                                                 OUTPUT_AGGREGATION_SIZE);
290 303
      options.put("maxOutputAggregationSize", String.valueOf(maxOutputAggregationSize));
291
      int maxHttpIdleTimeout =  cbo.getNode(DIRECTORY_NODE_ID, "maxHttpIdleTimeout", MAX_HTTP_IDLE_TIMEOUT);
304
      int maxHttpIdleTimeout =  cbo.getNode(DIRECTORY_NODE_ID,
305
                                            EMB_WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM,
306
                                            INFINITE_TIMEOUT);
292 307
      options.put("maxHttpIdleTimeout", String.valueOf(maxHttpIdleTimeout));
293
      int maxResponseHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, "maxResponseHeaderSize", RESPONSE_HEADER_SIZE);
308
      int maxResponseHeaderSize = cbo.getNode(DIRECTORY_NODE_ID,
309
                                              MAX_RESPONSE_HEADER_SIZE_PARAM,
310
                                              RESPONSE_HEADER_SIZE);
294 311
      options.put("maxResponseHeaderSize", String.valueOf(maxResponseHeaderSize));
295
      int maxRequestHeaderSize = cbo.getNode(DIRECTORY_NODE_ID, "maxRequestHeaderSize", REQUEST_HEADER_SIZE);
312
      int maxRequestHeaderSize = cbo.getNode(DIRECTORY_NODE_ID,
313
                                             MAX_REQUEST_HEADER_SIZE_PARAM,
314
                                             REQUEST_HEADER_SIZE);
296 315
      options.put("maxRequestHeaderSize", String.valueOf(maxRequestHeaderSize));
297 316

  
298 317
      // the possible values for renderer are webgl and 2d (case insensitive)
src/com/goldencode/p2j/main/WebClientConstants.java 2023-09-27 00:02:22 +0000
2 2
** Module   : WebClientConstants.java
3 3
** Abstract : Defines the web client constants.
4 4
**
5
** Copyright (c) 2021-2022, Golden Code Development Corporation.
5
** Copyright (c) 2021-2023, Golden Code Development Corporation.
6 6
**
7 7
** -#- -I- --Date-- ------------------------------Description----------------------------------
8 8
** 001 SBI 20210512 Added common constants used by web client.
......
11 11
**         20210914 Added default values for enableDebugLogging.
12 12
**         20211003 Renamed MAX_IDLE_TIMEOUT to MAX_WEB_SOCKET_IDLE_TIMEOUT.
13 13
** 002     20221121 Fixed spelling errors.
14
** 003 SBI 20230926 Added new constants that represent parameter names.
14 15
*/
15 16
/*
16 17
** This program is free software: you can redistribute it and/or modify
......
117 118
   
118 119
   /** This default message is shown if the web socket connection has been restored. */
119 120
   String CONNECTION_RESTORED_MESSAGE = "The server connection has been restored.";
120

  
121
   
122
   /**
123
    * The "maxBinaryMessage" parameter name
124
    */
125
   String MAX_BINARY_MESSAGE_SIZE_PARAM = "maxBinaryMessage";
126
   
127
   /**
128
    * The "maxTextMessage" parameter name
129
    */
130
   String MAX_TEXT_MESSAGE_SIZE_PARAM = "maxTextMessage";
131
   
132
   /**
133
    * The "delayBetweenTriesToConnect" parameter name
134
    */
135
   String DELAY_BETWEEN_PING_TRIES_PARAM = "delayBetweenTriesToConnect";
136
   
137
   /**
138
    * The "pingPongInterval" parameter name
139
    */
140
   String PING_PONG_INTERVAL_PARAM = "pingPongInterval";
141
   
142
   /**
143
    * The "maxLostPings" parameter name
144
    */
145
   String MAX_LOST_PINGS_PARAM = "maxLostPings";
146
   
147
   /**
148
    * The "delayBetweenTriesToConnect" parameter name
149
    */
150
   String DELAY_BETWEEN_CONNECT_TRIES_PARAM = "delayBetweenTriesToConnect";
151
   
152
   /**
153
    * The "tryToConnectMessage" parameter name
154
    */
155
   String TRY_TO_CONNECT_MESSAGE_PARAM = "tryToConnectMessage";
156
   
157
   /**
158
    * The "serverUnavailableMessage" parameter name
159
    */
160
   String SERVER_UNAVAILABLE_MESSAGE_PARAM = "serverUnavailableMessage";
161
   
162
   /**
163
    * The "connectionRestoredMessage" parameter name
164
    */
165
   String CONNECTION_RESTORED_MESSAGE_PARAM = "connectionRestoredMessage";
121 166
}
src/com/goldencode/p2j/main/WebClientDebugConfig.java 2023-09-27 00:02:22 +0000
1
/*
2
** Module   : WebClientDebugConfig.java
3
** Abstract : Defines common configuration settings required for debugging web clients.
4
**
5
** Copyright (c) 2023, Golden Code Development Corporation.
6
**
7
** -#- -I- --Date-- ----------------------Description--------------------------
8
** 001 SBI 20230925 Added web client debug configuration settings.
9
*/
10
/*
11
** This program is free software: you can redistribute it and/or modify
12
** it under the terms of the GNU Affero General Public License as
13
** published by the Free Software Foundation, either version 3 of the
14
** License, or (at your option) any later version.
15
**
16
** This program is distributed in the hope that it will be useful,
17
** but WITHOUT ANY WARRANTY; without even the implied warranty of
18
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
** GNU Affero General Public License for more details.
20
**
21
** You may find a copy of the GNU Affero GPL version 3 at the following
22
** location: https://www.gnu.org/licenses/agpl-3.0.en.html
23
** 
24
** Additional terms under GNU Affero GPL version 3 section 7:
25
** 
26
**   Under Section 7 of the GNU Affero GPL version 3, the following additional
27
**   terms apply to the works covered under the License.  These additional terms
28
**   are non-permissive additional terms allowed under Section 7 of the GNU
29
**   Affero GPL version 3 and may not be removed by you.
30
** 
31
**   0. Attribution Requirement.
32
** 
33
**     You must preserve all legal notices or author attributions in the covered
34
**     work or Appropriate Legal Notices displayed by works containing the covered
35
**     work.  You may not remove from the covered work any author or developer
36
**     credit already included within the covered work.
37
** 
38
**   1. No License To Use Trademarks.
39
** 
40
**     This license does not grant any license or rights to use the trademarks
41
**     Golden Code, FWD, any Golden Code or FWD logo, or any other trademarks
42
**     of Golden Code Development Corporation. You are not authorized to use the
43
**     name Golden Code, FWD, or the names of any author or contributor, for
44
**     publicity purposes without written authorization.
45
** 
46
**   2. No Misrepresentation of Affiliation.
47
** 
48
**     You may not represent yourself as Golden Code Development Corporation or FWD.
49
** 
50
**     You may not represent yourself for publicity purposes as associated with
51
**     Golden Code Development Corporation, FWD, or any author or contributor to
52
**     the covered work, without written authorization.
53
** 
54
**   3. No Misrepresentation of Source or Origin.
55
** 
56
**     You may not represent the covered work as solely your work.  All modified
57
**     versions of the covered work must be marked in a reasonable way to make it
58
**     clear that the modified work is not originating from Golden Code Development
59
**     Corporation or FWD.  All modified versions must contain the notices of
60
**     attribution required in this license.
61
*/
62

  
63

  
64
package com.goldencode.p2j.main;
65

  
66
import com.goldencode.p2j.web.HttpConfigurationConstants;
67

  
68
/**
69
 * Defines the debug configuration settings that should override the directory and the default configuration settings
70
 * if the java debug agent is set.
71
 */
72
public interface WebClientDebugConfig
73
extends WebClientConstants,
74
        HttpConfigurationConstants
75
{
76
   /** Override the default idle time after which the connection should be closed */
77
   int MAX_IDLE_TIME = 20 * 60 * 1000;
78
   
79
   /** Override the default watch dog timeout */
80
   int WATCH_DOG_TIMEOUT = 40 * 60 * 1000;
81
   
82
   /** Override the default delay between successful MSG_PING_PONG pairs if the server replies with MSG_PING_PONG */
83
   int PING_PONG_INTERVAL = 20 * 60 * 1000;
84
   
85
   /** Override the default debug logging for the web client */
86
   boolean ENABLE_DEBUG_LOGGING = true;
87
}
src/com/goldencode/p2j/main/WebServer.java 2023-12-08 06:58:22 +0000
51 51
**         20210812          Added createContextHandler() method to encapsulate and reuse this logic.
52 52
**         20211003          Moved common constants to HttpConfigurationConstants.
53 53
** 022 GBB 20230512          Logging methods replaced by CentralLogger/ConversionStatus.
54
** 023 SBI 20231208          Fixed the default idle timeout for web server http configuration and replaced coded
55
**                           parameters with corresponding defined constants.
54 56
*/
55 57
/*
56 58
** This program is free software: you can redistribute it and/or modify
......
158 160
      // server-scoped directory search for the admin port number
159 161
      port = Utils.getDirectoryNodeInt(null, "adminPort", HTTPS_PORT, false);
160 162
      
161
      int maxOutputBufferSize = Utils.getDirectoryNodeInt(null, "maxOutputBufferSize", OUTPUT_BUFFER_SIZE, false);
163
      int maxOutputBufferSize = Utils.getDirectoryNodeInt(null,
164
                                                          MAX_OUTPUT_BUFFER_SIZE_PARAM,
165
                                                          OUTPUT_BUFFER_SIZE,
166
                                                          false);
162 167
      getHttpConfiguration().setOutputBufferSize(maxOutputBufferSize);
163
      int maxOutputAggregationSize = Utils.getDirectoryNodeInt(null, "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE, false);
168
      int maxOutputAggregationSize = Utils.getDirectoryNodeInt(null,
169
                                                               MAX_OUTPUT_AGGREGATION_SIZE_PARAM,
170
                                                               OUTPUT_AGGREGATION_SIZE,
171
                                                               false);
164 172
      if (maxOutputAggregationSize != OUTPUT_AGGREGATION_SIZE)
165 173
      {
166 174
         getHttpConfiguration().setOutputAggregationSize(maxOutputAggregationSize);
167 175
      }
168
      int maxIdleTimeout = Utils.getDirectoryNodeInt(null, "maxIdleTimeout", -1, false);
169
      if (maxIdleTimeout >= 0)
170
      {
171
         getHttpConfiguration().setIdleTimeout(maxIdleTimeout);
172
      }
173
      int maxResponseHeaderSize = Utils.getDirectoryNodeInt(null, "maxResponseHeaderSize", RESPONSE_HEADER_SIZE, false);
176
      int maxIdleTimeout = Utils.getDirectoryNodeInt(null,
177
                                                     WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM,
178
                                                     CONNECTION_TIMEOUT,
179
                                                     false);
180
      getHttpConfiguration().setIdleTimeout(maxIdleTimeout);
181
      
182
      int maxResponseHeaderSize = Utils.getDirectoryNodeInt(null,
183
                                                            MAX_RESPONSE_HEADER_SIZE_PARAM,
184
                                                            RESPONSE_HEADER_SIZE,
185
                                                            false);
174 186
      if (maxResponseHeaderSize != RESPONSE_HEADER_SIZE)
175 187
      {
176 188
         getHttpConfiguration().setResponseHeaderSize(maxResponseHeaderSize);
177 189
      }
178
      int maxRequestHeaderSize = Utils.getDirectoryNodeInt(null, "maxRequestHeaderSize", REQUEST_HEADER_SIZE, false);
190
      int maxRequestHeaderSize = Utils.getDirectoryNodeInt(null,
191
                                                           MAX_REQUEST_HEADER_SIZE_PARAM,
192
                                                           REQUEST_HEADER_SIZE,
193
                                                           false);
179 194
      if (maxRequestHeaderSize != REQUEST_HEADER_SIZE)
180 195
      {
181 196
         getHttpConfiguration().setRequestHeaderSize(maxRequestHeaderSize);
src/com/goldencode/p2j/ui/client/gui/driver/web/GuiWebDriver.java 2023-12-08 06:55:59 +0000
235 235
** 076 GBB 20231113 Adding storageId param to getLocalStorageAccessor. Implementing new interface ScreenWebDriver.
236 236
**                  Adding getBrowserWebSocket(). Reading config broadcastChannelPingTimeout.
237 237
** 077 GBB 20231130 ScreenDriver getName() implemented.
238
** 078 SBI 20231208 Replaced coded config parameters with corresponding defined constants.
238 239
*/
239 240

  
240 241
/*
......
658 659
                                         new GenericWebSocketCreator<WebClientProtocol>(websock),
659 660
                                         cpres,
660 661
                                         hdlrs);
661
      int maxOutputBufferSize = config.getInt("client", "web", "maxOutputBufferSize", OUTPUT_BUFFER_SIZE);
662
      int maxOutputBufferSize = config.getInt("client",
663
                                              "web",
664
                                              MAX_OUTPUT_BUFFER_SIZE_PARAM,
665
                                              OUTPUT_BUFFER_SIZE);
662 666
      websrv.getHttpConfiguration().setOutputBufferSize(maxOutputBufferSize);
663
      int maxOutputAggregationSize = config.getInt("client", "web", "maxOutputAggregationSize", OUTPUT_AGGREGATION_SIZE);
667
      int maxOutputAggregationSize = config.getInt("client",
668
                                                   "web",
669
                                                   MAX_OUTPUT_AGGREGATION_SIZE_PARAM,
670
                                                   OUTPUT_AGGREGATION_SIZE);
664 671
      websrv.getHttpConfiguration().setOutputAggregationSize(maxOutputAggregationSize);
665
      int maxHttpIdleTimeout = config.getInt("client", "web", "maxHttpIdleTimeout", MAX_HTTP_IDLE_TIMEOUT);
672
      int maxHttpIdleTimeout = config.getInt("client",
673
                                             "web",
674
                                             MAX_HTTP_IDLE_TIMEOUT_PARAM,
675
                                             INFINITE_TIMEOUT);
666 676
      websrv.getHttpConfiguration().setIdleTimeout(maxHttpIdleTimeout);
667
      int maxResponseHeaderSize = config.getInt("client", "web", "maxResponseHeaderSize", RESPONSE_HEADER_SIZE);
677
      int maxResponseHeaderSize = config.getInt("client",
678
                                                "web",
679
                                                MAX_RESPONSE_HEADER_SIZE_PARAM,
680
                                                RESPONSE_HEADER_SIZE);
668 681
      websrv.getHttpConfiguration().setResponseHeaderSize(maxResponseHeaderSize);
669
      int maxRequestHeaderSize = config.getInt("client", "web", "maxRequestHeaderSize", REQUEST_HEADER_SIZE);
682
      int maxRequestHeaderSize = config.getInt("client",
683
                                               "web",
684
                                               MAX_REQUEST_HEADER_SIZE_PARAM,
685
                                               REQUEST_HEADER_SIZE);
670 686
      websrv.getHttpConfiguration().setRequestHeaderSize(maxRequestHeaderSize);
671 687
   }
672 688

  
src/com/goldencode/p2j/web/HttpConfigurationConstants.java 2023-12-08 06:59:43 +0000
2 2
** Module   : HttpConfigurationConstants.java
3 3
** Abstract : Defines common http configuration settings.
4 4
**
5
** Copyright (c) 2021, Golden Code Development Corporation.
5
** Copyright (c) 2021-2023, Golden Code Development Corporation.
6 6
**
7 7
** -#- -I- --Date-- ----------------------Description--------------------------
8 8
** 001 SBI 20211003 Added common http configuration settings.
9
** 002 SBI 20231208 Added http configuration parameters.
9 10
*/
10 11
/*
11 12
** This program is free software: you can redistribute it and/or modify
......
78 79
   int REQUEST_HEADER_SIZE = 8 * 1024;
79 80
   
80 81
   /**
81
    * The maximal http idle timeout, infinite timeout. -1 means that the connection timeout is used,
82
    * 0 implies infinite timeout, max idle time is applied to an HTTP request for IO operations
83
    * and delayed dispatch.
84
    */
85
   int MAX_HTTP_IDLE_TIMEOUT = 0;
82
    * The connection timeout for setting max idle time, max idle time is applied to an HTTP request for IO operations
83
    * and delayed dispatch.
84
    */
85
   int CONNECTION_TIMEOUT = -1;
86
   
87
   /**
88
    * The infinite timeout for setting max idle time, max idle time is applied to an HTTP request for IO operations
89
    * and delayed dispatch.
90
    */
91
   int INFINITE_TIMEOUT = 0;
92
   
93
   /**
94
    * The "maxHttpIdleTimeout" parameter name
95
    */
96
   String MAX_HTTP_IDLE_TIMEOUT_PARAM = "maxHttpIdleTimeout";
97
   
98
   /**
99
    * The "maxOutputBufferSize" parameter name
100
    */
101
   String MAX_OUTPUT_BUFFER_SIZE_PARAM = "maxOutputBufferSize";
102
   
103
   /**
104
    * The "maxOutputAggregationSize" parameter name
105
    */
106
   String MAX_OUTPUT_AGGREGATION_SIZE_PARAM = "maxOutputAggregationSize";
107
   
108
   /**
109
    * The "webServerMaxIdleTimeout" parameter name
110
    */
111
   String WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM = "webServerMaxIdleTimeout";
112
   
113
   /**
114
    * The "embWebServerMaxIdleTimeout" parameter name
115
    */
116
   String EMB_WEB_SERVER_MAX_IDLE_TIMEOUT_PARAM = "embWebServerMaxIdleTimeout";
117
   
118
   /**
119
    * The "maxIdleTime" parameter name
120
    */
121
   String MAX_IDLE_TIME_PARAM = "maxIdleTime";
122
   
123
   /**
124
    * The "maxResponseHeaderSize" parameter name
125
    */
126
   String MAX_RESPONSE_HEADER_SIZE_PARAM = "maxResponseHeaderSize";
127
   
128
   /**
129
    * The "maxRequestHeaderSize" parameter name
130
    */
131
   String MAX_REQUEST_HEADER_SIZE_PARAM = "maxRequestHeaderSize";
86 132
}