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_FC_MIRACAST_H
17 #define FILLP_PDT_FC_MIRACAST_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif /* __cplusplus */
22 
23 #ifdef PDT_MIRACAST
24 
25 #define FILLP_PDT_INFO "PDT:Miracast"
26 #define FILLP_PDT_ALG "FILLP"
27 
28 #define MAX_SPUNGEINSTANCE_NUM 1
29 #define FILLP_DEFAULT_INST_NUM 1
30 
31 #define FILLP_ALG_DEFAULT_TYPE FILLP_ALG_BASE
32 
33 #define FILLP_DEFAULT_APP_PKT_SIZE 1460 /* default pkt size to cal flow rate */
34 
35 #define FILLP_DEFAULT_APP_SEND_CACHE 8192 /* size of send cache */
36 #define FILLP_DEFAULT_APP_RECV_CACHE 8192 /* size of recv cache */
37 #define FILLP_DYMM_INIT_SEND_SIZE 4096
38 #define FILLP_DYMM_INIT_RECV_SIZE 4096
39 #define FILLP_DYMM_INCREASE_STEP_SEND 512
40 #define FILLP_DYMM_INCREASE_STEP_RECV 512
41 
42 #define FILLP_DEFAULT_MSG_SEND_CACHE 512 /* size of send cache */
43 #define FILLP_DEFAULT_MSG_RECV_CACHE 512 /* size of recv cache */
44 #define FILLP_MSG_DYMM_INIT_SEND_SIZE 512
45 #define FILLP_MSG_DYMM_INIT_RECV_SIZE 512
46 
47 #define FILLP_DEFAULT_APP_SLOW_START FILLP_TRUE /* slow start */
48 
49 #define FILLP_DEFAULT_BFULL_CPU FILLP_FALSE
50 
51 /* pack setting */
52 #define FILLP_DEFAULT_APP_PACK_INTERVAL (10 * 1000) /* (10 * 1000)us */
53 #define FILLP_DEFAULT_ENLARGE_PACK_INTERVAL FILLP_FALSE
54 #define FILLP_ADHOC_PACK_ENABLE FILLP_TRUE
55 #define ADHOC_PACK_TRIGGLE_THRESHOLD 200
56 
57 /* nack setting */
58 #define FILLP_DEFAULT_NACK_REPEAT_TIMES 3
59 #define FILLP_DELAY_NACK_ENABLE FILLP_FALSE
60 #define FILLP_DEFAULT_SEND_HISTORY_NACK FILLP_TRUE
61 
62 /* resend setting */
63 #define FILLP_RETRANSMIT_CMP_TIME 1
64 #define FILLP_RETRANSMIT_CMP_TIME_EXT 1
65 
66 #define FILLP_MINIMUM_SELECT_TIME 1000 /* us */
67 
68 #define FILLP_TIMING_WHEEL_ACCURACY 5  /* us */
69 #define FILLP_MAX_SEND_INTERVAL (1000 << 3)
70 
71 #define FILLP_LOG_WITH_TIME 1
72 
73 #define FILLP_CPU_PAUSE_TIME 10      /* sleep time */
74 #define FILLP_RCV_CPU_PAUSE_TIME 100 /* sleep time, design for miracast to low the power */
75 
76 #define FILLP_DEFAULT_APP_TX_BURST 44 /* tx burst */
77 #define FILLP_DEFAULT_RX_BURST 1024    /* max pkt number to recv each cycle */
78 #define FILLP_UNSEND_BOX_LOOP_CHECK_BURST 1024
79 
80 #define FILLP_MAXIMAL_ACK_NUM_LIMITATION (2000)
81 #define FILLP_SEND_ONE_ACK_NUM (100)
82 
83 #define FILLP_MAX_CONNECT_TIMEOUT (3600 * 1000) /* ms */
84 
85 #define FILLP_DEFAULT_DESTROY_STACK_WITHOUT_WAIT_SOCKET_CLOSE FILLP_TRUE
86 #define FILLP_DEFAULT_RECVBOX_BRUST 1024
87 
88 #define FILLP_DEFAULT_MIN_RATE 5000u                    /* 5 Mbps */
89 #define FILLP_DEFAULT_INITIAL_RATE 5000u                /* 5 Mbps */
90 #define FILLP_DEFAULT_MAX_RATE 500000                   /* 50 Mbps */
91 
92 #endif
93 
94 #ifdef __cplusplus
95 }
96 #endif /* __cplusplus */
97 
98 #endif /* FILLP_PDT_FC_MIRACAST_H */
99