1 /* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef FILLP_PDT_FLOWCONTROL_H 17 #define FILLP_PDT_FLOWCONTROL_H 18 #include "fillptypes.h" 19 20 #ifdef PDT_UT 21 #include "pdt_fc_ut.h" 22 #endif /* PDT_UT */ 23 24 #ifdef PDT_MIRACAST 25 #include "pdt_fc_miracast.h" 26 #endif /* PDT_MIRACAST */ 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif /* __cplusplus */ 31 32 #ifndef FILLP_PDT_INFO 33 #error "No pdt information!!!" 34 #endif 35 36 #ifndef FILLP_OFFERING_INFO 37 #define FILLP_OFFERING_INFO "nStack RivulNet" 38 #endif 39 40 #define FILLP_VERSION_DATE "[2022-08-30]" 41 42 #define FILLP_STACK_SPACE " " 43 44 #define FILLP_VERSION \ 45 FILLP_OFFERING_INFO " 205.0.2 (" FILLP_PDT_ALG ") " FILLP_STACK_SPACE FILLP_PDT_INFO FILLP_VERSION_DATE 46 47 #ifndef MAX_SPUNGEINSTANCE_NUM 48 #define MAX_SPUNGEINSTANCE_NUM 1 49 #endif 50 51 #ifndef FILLP_DEFAULT_INST_NUM 52 #define FILLP_DEFAULT_INST_NUM 1 53 #endif 54 55 #ifndef FILLP_DEFAULT_APP_SEND_CACHE 56 #define FILLP_DEFAULT_APP_SEND_CACHE 819200 /* size of send cache */ 57 #endif 58 59 #ifndef FILLP_DEFAULT_APP_RECV_CACHE 60 #define FILLP_DEFAULT_APP_RECV_CACHE 819200 /* size of recv cache */ 61 #endif 62 63 #ifndef FILLP_DEFAULT_MAX_RATE 64 #define FILLP_DEFAULT_MAX_RATE (20 * 1000) /* max rate */ 65 #endif 66 67 #ifndef FILLP_DEFAULT_CORE_MAX_RATE 68 #define FILLP_DEFAULT_CORE_MAX_RATE (10 * 1000 * 1000) /* max rate */ 69 #endif 70 71 #ifndef FILLP_DEFAULT_CORE_MAX_RECV_RATE 72 #define FILLP_DEFAULT_CORE_MAX_RECV_RATE FILLP_DEFAULT_CORE_MAX_RATE 73 #endif 74 75 #ifndef FILLP_DEFAULT_APP_PKT_SIZE 76 #define FILLP_DEFAULT_APP_PKT_SIZE 1300 /* default pkt size to cal flow rate */ 77 #endif 78 79 #ifndef FILLP_MAX_PKT_SIZE 80 #define FILLP_MAX_PKT_SIZE 9000 81 #endif 82 83 #ifndef FILLP_DEFAULT_APP_SLOW_START 84 #define FILLP_DEFAULT_APP_SLOW_START FILLP_TRUE /* slow start */ 85 #endif 86 87 #ifndef FILLP_DEFAULT_APP_KEEP_ALIVE_TIME 88 #define FILLP_DEFAULT_APP_KEEP_ALIVE_TIME (200 * 1000) /* keep alive time, ms */ 89 #endif 90 91 #ifndef FILLP_DEFAULT_MAX_SOCK_NUM 92 #ifdef FILLP_LW_LITEOS 93 #define FILLP_DEFAULT_MAX_SOCK_NUM 10 94 #else 95 #define FILLP_DEFAULT_MAX_SOCK_NUM (1024) 96 #endif 97 #endif 98 99 #ifndef FILLP_DEFAULT_MAX_CONNECTION_NUM 100 #ifdef FILLP_LW_LITEOS 101 #define FILLP_DEFAULT_MAX_CONNECTION_NUM 10 102 #else 103 #define FILLP_DEFAULT_MAX_CONNECTION_NUM (1024) 104 #endif 105 #endif 106 107 #ifndef FILLP_DEFAULT_BFULL_CPU 108 #define FILLP_DEFAULT_BFULL_CPU FILLP_TRUE 109 #endif 110 111 #ifndef FILLP_DEFAULT_INITIAL_RATE 112 #define FILLP_DEFAULT_INITIAL_RATE 2000 113 #endif 114 115 #ifndef FILLP_DEFAULT_PKT_LOSS_ALLOW 116 #define FILLP_DEFAULT_PKT_LOSS_ALLOW 8 117 #endif 118 119 #ifndef FILLP_DEFAULT_NACK_REPEAT_TIMES 120 #define FILLP_DEFAULT_NACK_REPEAT_TIMES 5 121 #endif 122 123 #ifndef FILLP_MIN_PACK_INTERVAL 124 #define FILLP_MIN_PACK_INTERVAL (50 * 1000) /* min packet interval if rtt is less then default rtt */ 125 #endif 126 127 #ifndef FILLP_DEFAULT_APP_PACK_INTERVAL 128 #define FILLP_DEFAULT_APP_PACK_INTERVAL (20 * 1000) /* packet interval (us) */ 129 #endif 130 131 #ifndef FILLP_MINIMUM_SELECT_TIME 132 #define FILLP_MINIMUM_SELECT_TIME 10000 // us 133 #endif 134 135 #ifndef FILLP_DELAY_NACK_ENABLE 136 #define FILLP_DELAY_NACK_ENABLE FILLP_TRUE 137 #endif 138 139 #ifndef FILLP_ADHOC_PACK_ENABLE 140 #define FILLP_ADHOC_PACK_ENABLE FILLP_FALSE 141 #endif 142 143 #ifndef FILLP_TIMING_WHEEL_SLOT_NUM 144 #define FILLP_TIMING_WHEEL_SLOT_NUM 8 145 #endif 146 147 #ifndef FILLP_TIMING_WHEEL_ACCURACY 148 #define FILLP_TIMING_WHEEL_ACCURACY 100 /* us */ 149 #endif 150 151 #ifndef FILLP_ALG_DEFAULT_TYPE 152 #define FILLP_ALG_DEFAULT_TYPE FILLP_ALG_BASE 153 #endif /* FILLP_ALG_DEFAULT_TYPE */ 154 155 #ifndef FILLP_DYMM_INCREASE_STEP_SEND 156 #define FILLP_DYMM_INCREASE_STEP_SEND 1024 157 #endif /* FILLP_DYMM_INCREASE_STEP_SEND */ 158 159 #ifndef FILLP_DYMM_INCREASE_STEP_RECV 160 #define FILLP_DYMM_INCREASE_STEP_RECV 1024 161 #endif /* FILLP_DYMM_INCREASE_STEP_RECV */ 162 163 #ifndef FILLP_INST_UNSEND_BOX_SIZE 164 #define FILLP_INST_UNSEND_BOX_SIZE 819200 165 #endif 166 167 #ifndef FILLP_DYMM_INST_RECV_BUF_SIZE 168 #define FILLP_DYMM_INST_RECV_BUF_SIZE 819200 169 #endif 170 171 #ifndef FILLP_DYMM_INST_SEND_BUF_SIZE 172 #define FILLP_DYMM_INST_SEND_BUF_SIZE 819200 173 #endif 174 175 #ifndef FILLP_PRIV_RECV_SIZE 176 #define FILLP_PRIV_RECV_SIZE 10 177 #endif 178 179 #ifndef FILLP_DEFAULT_APP_TX_BURST 180 /* GlobalAppResource structure default values start */ 181 #ifdef FILLP_LINUX 182 #define FILLP_DEFAULT_APP_TX_BURST 102400 /* tx burst */ 183 #else 184 #define FILLP_DEFAULT_APP_TX_BURST 1400 /* tx burst */ 185 #endif 186 #endif 187 188 #ifndef FILLP_DEFAULT_RX_BURST 189 /* GlobalResource structure default values start */ 190 #ifdef FILLP_LINUX 191 192 #define FILLP_DEFAULT_RX_BURST 102400 /* max pkt number to recv each cycle */ 193 #else 194 #define FILLP_DEFAULT_RX_BURST 1400 /* max pkt number to recv each cycle */ 195 #endif 196 #endif 197 198 #ifndef FILLP_DEFAULT_DISCONNECT_TIMER_INTERVAL 199 #define FILLP_DEFAULT_DISCONNECT_TIMER_INTERVAL 200 /* ms */ 200 #endif 201 202 #ifndef FILLP_DEFAULT_CONNECT_RETRY_TIMER_INTERVAL 203 #define FILLP_DEFAULT_CONNECT_RETRY_TIMER_INTERVAL 200 /* ms */ 204 #endif 205 206 #ifndef FILLP_DEFAULT_APP_CONNECT_TIMEOUT 207 #define FILLP_DEFAULT_APP_CONNECT_TIMEOUT (10 * 1000) /* ms */ 208 #endif 209 210 #ifndef FILLP_CPU_PAUSE_TIME 211 #define FILLP_CPU_PAUSE_TIME 100 /* sleep time */ 212 #endif 213 214 #ifndef FILLP_DEFAULT_NACK_DELAY_TIME 215 #define FILLP_DEFAULT_NACK_DELAY_TIME 20000 216 #endif 217 218 #ifndef FILLP_DEFAULT_NACK_RETRY_LEN 219 #define FILLP_DEFAULT_NACK_RETRY_LEN 128 220 #endif 221 222 #ifndef FILLP_DEFAULT_NACK_RETRY_NUM 223 #define FILLP_DEFAULT_NACK_RETRY_NUM 1 224 #endif 225 226 #ifndef FILLP_DEFAULT_PACK_RETRY_NACK 227 #define FILLP_DEFAULT_PACK_RETRY_NACK FILLP_FALSE 228 #endif 229 230 #ifndef FILLP_DEFAULT_ENLARGE_PACK_INTERVAL 231 #define FILLP_DEFAULT_ENLARGE_PACK_INTERVAL FILLP_TRUE 232 #endif 233 234 #ifndef FILLP_UNSEND_BOX_LOOP_CHECK_BURST 235 236 #define FILLP_UNSEND_BOX_LOOP_CHECK_BURST 1024 237 #endif 238 239 #ifndef FILLP_DEFAULT_UDP_SEND_BUFSIZE 240 #ifdef FILLP_MAC 241 #define FILLP_DEFAULT_UDP_SEND_BUFSIZE (1 * 1024 * 1024) /* send buffer size */ 242 #else 243 #define FILLP_DEFAULT_UDP_SEND_BUFSIZE (16 * 1024 * 1024) /* send buffer size */ 244 #endif 245 #endif 246 247 #ifndef FILLP_DEFAULT_UDP_RECV_BUFSIZE 248 #ifdef FILLP_MAC 249 #define FILLP_DEFAULT_UDP_RECV_BUFSIZE (1 * 1024 * 1024) /* recv buffer size */ 250 #else 251 #define FILLP_DEFAULT_UDP_RECV_BUFSIZE (16 * 1024 * 1024) /* recv buffer size */ 252 #endif 253 #endif 254 255 #ifndef FILLP_DEFAULT_MAX_RECV_RATE 256 #define FILLP_DEFAULT_MAX_RECV_RATE FILLP_DEFAULT_MAX_RATE 257 #endif 258 259 #ifndef FILLP_DEFAULT_RECV_CACHE_PKT_NUM_BUFFER_SIZE 260 #define FILLP_DEFAULT_RECV_CACHE_PKT_NUM_BUFFER_SIZE 100 261 #endif 262 263 #ifndef FILLP_DEFAULT_RECV_CACHE_PKT_NUM_BUFFER_TIMEOUT 264 #define FILLP_DEFAULT_RECV_CACHE_PKT_NUM_BUFFER_TIMEOUT 25 265 #endif 266 267 #ifndef FILLP_DEFAULT_BOUT_OF_ORDER_CACHE_FEATURE 268 #define FILLP_DEFAULT_BOUT_OF_ORDER_CACHE_FEATURE FILLP_FALSE 269 #endif 270 271 #ifndef FILLP_DEFAULT_CPU_CORE_USE 272 #define FILLP_DEFAULT_CPU_CORE_USE 0 273 #endif 274 275 #ifndef FILLP_DEFAULT_MIN_RATE 276 #define FILLP_DEFAULT_MIN_RATE 350 277 #endif 278 279 #ifndef FILLP_DEFAULT_MMSG_SUPPORT 280 #define FILLP_DEFAULT_MMSG_SUPPORT FILLP_FALSE 281 #endif 282 283 #ifndef FILLP_DEFAULT_UDP_SEND_MSG_NUM 284 #define FILLP_DEFAULT_UDP_SEND_MSG_NUM 1 285 #endif 286 287 #ifndef FILLP_FC_PKT_LOSS_IN_RANGE_THRESHOLD 288 #define FILLP_FC_PKT_LOSS_IN_RANGE_THRESHOLD 15 289 #endif 290 291 #ifndef FILLP_FC_PKT_LOSS_PROBE_THRESH_MAX 292 #define FILLP_FC_PKT_LOSS_PROBE_THRESH_MAX 3 293 #endif 294 295 #ifndef FILLP_FC_PKT_LOSS_PROBE_THRESH_MIN 296 #define FILLP_FC_PKT_LOSS_PROBE_THRESH_MIN 2 297 #endif 298 299 #ifndef FILLP_FC_MULTI_ADJUST_CONST 300 #define FILLP_FC_MULTI_ADJUST_CONST 1.00 301 #endif 302 303 #ifndef FILLP_FLOW_CONTROL_MULTI_NUM_STEP 304 #define FILLP_FLOW_CONTROL_MULTI_NUM_STEP 0.10 305 #endif 306 307 #ifndef FILLP_FC_NINETY_PERCENT_VAL 308 #define FILLP_FC_NINETY_PERCENT_VAL(value) ((value) * 0.8) 309 #endif 310 311 #ifndef FILLP_FLOW_CONTROL_MULTI_NUM_INITIAL_VAL 312 #define FILLP_FLOW_CONTROL_MULTI_NUM_INITIAL_VAL 2.4 313 #endif 314 315 #ifndef FILLP_RETRANSMIT_CMP_TIME 316 #define FILLP_RETRANSMIT_CMP_TIME 1 317 #endif 318 319 #ifndef FILLP_LOG_WITH_TIME 320 #define FILLP_LOG_WITH_TIME 1 321 #endif 322 323 #ifndef FILLP_DYMM_INIT_SEND_SIZE 324 #define FILLP_DYMM_INIT_SEND_SIZE 4096 325 #endif 326 327 #ifndef FILLP_DYMM_INIT_RECV_SIZE 328 #define FILLP_DYMM_INIT_RECV_SIZE 4096 329 #endif 330 331 #ifndef FILLP_APP_FC_STASTICS_INTERVAL 332 #define FILLP_APP_FC_STASTICS_INTERVAL (500 * 1000) // 500ms 333 #endif 334 335 #ifndef FILLP_APP_FC_STASTICS_MAX_INTERVAL 336 #define FILLP_APP_FC_STASTICS_MAX_INTERVAL (1000 * 1000) // 1s 337 #endif 338 339 #ifndef FILLP_DEFAULT_CONST_RATE_ENABLE 340 #define FILLP_DEFAULT_CONST_RATE_ENABLE FILLP_FALSE 341 #endif 342 343 #ifndef FILLP_FRAME_MTU 344 #define FILLP_FRAME_MTU 1500 345 #endif 346 347 #ifndef FILLP_HLEN 348 #define FILLP_HLEN 12 349 #endif 350 351 #ifndef FILLP_MAX_SEND_INTERVAL 352 #define FILLP_MAX_SEND_INTERVAL (10000 << 3) 353 #endif 354 355 #ifndef FILLP_MAX_CONNECT_TIMEOUT 356 #define FILLP_MAX_CONNECT_TIMEOUT (300 * 1000) /* ms */ 357 #endif 358 359 #ifndef FILLP_MAX_CONNECT_RETRY_TIMER_INTERVAL 360 #define FILLP_MAX_CONNECT_RETRY_TIMER_INTERVAL (10 * 1000) /* ms */ 361 #endif 362 363 #ifndef FILLP_MAX_DISCONNECT_TIMER_INTERVAL 364 #define FILLP_MAX_DISCONNECT_TIMER_INTERVAL (10 * 1000) /* ms */ 365 #endif 366 367 #ifndef FILLP_MAX_KEEP_ALIVE_TIME 368 #define FILLP_MAX_KEEP_ALIVE_TIME (3600 * 1000) // ms 369 #endif 370 371 #ifndef FILLP_MIN_KEEP_ALIVE_TIMER 372 #define FILLP_MIN_KEEP_ALIVE_TIMER 100 // ms 373 #endif 374 375 #ifndef FILLP_MAX_SOCK_NUMBER 376 #define FILLP_MAX_SOCK_NUMBER (1024 * 2) 377 #endif 378 379 #ifndef FILLP_MAX_CONN_NUMBER 380 #define FILLP_MAX_CONN_NUMBER (1024 * 2) 381 #endif 382 383 #ifndef FILLP_MAX_STACK_OPPOSITE_SET_RATE 384 #define FILLP_MAX_STACK_OPPOSITE_SET_RATE (10 * 1000 * 1000) /* max opposite set rate value */ 385 #endif 386 387 #ifndef FILLP_MAX_TX_RX_BURST 388 #define FILLP_MAX_TX_RX_BURST 0x7fff 389 #endif 390 391 #ifndef FILLP_MIN_APP_PACK_INTERVAL 392 #define FILLP_MIN_APP_PACK_INTERVAL (1 * 1000) /* (1 * 1000)us */ 393 #endif 394 395 #ifndef FILLP_MAX_APP_PACK_INTERVAL 396 #define FILLP_MAX_APP_PACK_INTERVAL (1000 * 1000) /* (1000 * 1000)us */ 397 #endif 398 399 /* App have to take care when configuring tx burst, because if it 400 is configured as big value, then the no of cycles of sending the 401 data will be more. This will make performance dip to the app */ 402 /* In FillpProcessConnConfirm, there is a multiplication with pktSize which 403 should not cross the FILLP_MAX_INT_VALUE. As the pktSize cannot be exceeded 404 more than 1500, below MAX value is changed from 0x7FFFFFFF to 1431648 (0x15D860). 405 This is at the server side, default value is 81920. Thed MAX value is big 406 enough for real time usecase scenario, hence no impact with this change 407 */ 408 #ifndef FILLP_MAX_SERVER_ALLOW_SEND_RECV_CACHE 409 #define FILLP_MAX_SERVER_ALLOW_SEND_RECV_CACHE 0x15D860 /* max server allow send or recv cache */ 410 #endif 411 412 #ifndef FILLP_MAX_ALLOW_SEND_RECV_CACHE 413 #define FILLP_MAX_ALLOW_SEND_RECV_CACHE FILLP_MAX_SERVER_ALLOW_SEND_RECV_CACHE /* Max allow send or recv cache */ 414 #endif 415 416 #ifndef FILLP_MAX_TIMER_RECV_CACHE_PKT_NUMBUFF 417 #define FILLP_MAX_TIMER_RECV_CACHE_PKT_NUMBUFF 300 /* max value of recv catche number buffer timer */ 418 #endif 419 420 #ifndef FILLP_MIN_TIMER_RECV_CACHE_PKT_NUMBUFF 421 #define FILLP_MIN_TIMER_RECV_CACHE_PKT_NUMBUFF 10 /* min value of recv catche number buffer timer */ 422 #endif 423 424 #ifndef FILLP_MAX_STACK_RECV_CACHE_PKT_NUM_BUFF_SIZE 425 #define FILLP_MAX_STACK_RECV_CACHE_PKT_NUM_BUFF_SIZE 10000 /* max value of stacak recv catche pakt num buff size */ 426 #endif 427 428 #ifndef FILLP_MAX_STACK_OPPOSITE_SET_PERCENTAGE 429 #define FILLP_MAX_STACK_OPPOSITE_SET_PERCENTAGE 100 /* max value of stack opposite set percentage */ 430 #endif 431 432 #ifndef FILLP_MAX_STACK_NACK_REPEAT_TIMES 433 #define FILLP_MAX_STACK_NACK_REPEAT_TIMES 0xFF /* max stack nack repeat times */ 434 #endif 435 436 #ifndef FILLP_MAX_STACK_PACKET_LOSS_ALLOWED 437 #define FILLP_MAX_STACK_PACKET_LOSS_ALLOWED 100 /* max packet loss allowed */ 438 #endif 439 440 #ifndef FILLP_MAX_STACK_RATE_PERCENTAGE 441 #define FILLP_MAX_STACK_RATE_PERCENTAGE 100 /* max stack rate percentage */ 442 #endif 443 444 #ifndef FILLP_DEFAULT_DAT_OPT_TIMESTAMP_ENABLE 445 #define FILLP_DEFAULT_DAT_OPT_TIMESTAMP_ENABLE FILLP_FALSE 446 #endif 447 448 #ifndef FILLP_MAXIMAL_ACK_NUM_LIMITATION 449 #define FILLP_MAXIMAL_ACK_NUM_LIMITATION 0 450 #endif 451 452 #ifndef FILLP_SEND_ONE_ACK_NUM 453 #define FILLP_SEND_ONE_ACK_NUM 0 454 #endif 455 456 #ifndef MAX_RANDOM_LEV 457 #define MAX_RANDOM_LEV 1024 458 #endif 459 460 #ifndef FILLP_UNACK_HASH_SIZE 461 #define FILLP_UNACK_HASH_SIZE 512 462 #endif 463 464 #ifndef FILLP_MAX_PKTSEQ_HASH_SIZE 465 #define FILLP_MAX_PKTSEQ_HASH_SIZE 512 // Be sure it is power of 2 466 #endif 467 468 #ifndef FILLP_DEFAULT_STACK_CORE_LIMIT_RATE 469 #define FILLP_DEFAULT_STACK_CORE_LIMIT_RATE 0 470 #endif 471 472 #ifndef FILLP_FC_PKT_LOSS_PROBE_THRESH_MAX_EXT 473 #define FILLP_FC_PKT_LOSS_PROBE_THRESH_MAX_EXT 5 474 #endif 475 476 #ifndef FILLP_TIMING_WHEEL_ACCURACY_EXT 477 #define FILLP_TIMING_WHEEL_ACCURACY_EXT 64 478 #endif 479 480 #ifndef FILLP_MAXIMAL_ACK_NUM_LIMITATION_EXT 481 #define FILLP_MAXIMAL_ACK_NUM_LIMITATION_EXT 0 482 #endif 483 484 #ifndef FILLP_SEND_ONE_ACK_NUM_EXT 485 #define FILLP_SEND_ONE_ACK_NUM_EXT 0 486 #endif 487 488 #ifndef FILLP_CPU_PAUSE_TIME_EXT 489 #define FILLP_CPU_PAUSE_TIME_EXT 100 490 #endif 491 492 #ifndef FILLP_RETRANSMIT_CMP_TIME_EXT 493 #define FILLP_RETRANSMIT_CMP_TIME_EXT 1 494 #endif 495 496 #ifndef FILLP_DEFAULT_MIN_RATE_EXT 497 #define FILLP_DEFAULT_MIN_RATE_EXT 500 498 #endif 499 500 #ifndef FILLP_MIN_PACK_INTERVAL_EXT 501 #define FILLP_MIN_PACK_INTERVAL_EXT 30000 502 #endif 503 504 #ifndef FILLP_UNSEND_BOX_LOOP_CHECK_BURST_EXT 505 #define FILLP_UNSEND_BOX_LOOP_CHECK_BURST_EXT 1024 506 #endif 507 508 #ifndef FILLP_INST_UNSEND_BOX_SIZE_EXT 509 #define FILLP_INST_UNSEND_BOX_SIZE_EXT 8192 510 #endif 511 512 #ifndef FILLP_DEFAULT_NACK_RETRY_LEN_EXT 513 #define FILLP_DEFAULT_NACK_RETRY_LEN_EXT 120 514 #endif 515 516 #ifndef FILLP_FLOW_CONTROL_MULTI_NUM_INITIAL_VAL_EXT 517 #define FILLP_FLOW_CONTROL_MULTI_NUM_INITIAL_VAL_EXT 2.4 518 #endif 519 520 #ifndef FILLP_FC_MULTI_ADJUST_CONST_EXT 521 #define FILLP_FC_MULTI_ADJUST_CONST_EXT 1.2 522 #endif 523 524 #ifndef FILLP_FLOW_CONTROL_MULTI_NUM_STEP_EXT 525 #define FILLP_FLOW_CONTROL_MULTI_NUM_STEP_EXT 0.042 526 #endif 527 528 #ifndef FILLP_FC_NINETY_PERCENT_VAL_EXT 529 #define FILLP_FC_NINETY_PERCENT_VAL_EXT 0.8 530 #endif 531 532 #ifndef FILLP_DEFAULT_BFULL_CPU_THRESHOLD_RATE_EXT 533 #define FILLP_DEFAULT_BFULL_CPU_THRESHOLD_RATE_EXT (500 * 1000) /* In kbps */ 534 #endif 535 536 #ifndef FILLP_DEFAULT_DESTROY_STACK_WITHOUT_WAIT_SOCKET_CLOSE 537 #define FILLP_DEFAULT_DESTROY_STACK_WITHOUT_WAIT_SOCKET_CLOSE FILLP_FALSE 538 #endif 539 540 #ifndef FILLP_DEFAULT_SUPPORT_CHARACTERS 541 #define FILLP_DEFAULT_SUPPORT_CHARACTERS 0 542 #endif 543 544 #ifndef FILLP_DEFAULT_RECVBOX_BRUST 545 #define FILLP_DEFAULT_RECVBOX_BRUST 100 546 #endif 547 548 #ifdef __cplusplus 549 } 550 #endif /* __cplusplus */ 551 552 #endif /* FILLP_PDT_FLOWCONTROL_H */ 553