mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-14 10:20:01 +00:00
Limit queue fetches
This commit is contained in:
1 parent
1cadd2b2aa
commit
b313d697ff
2 files changed
+6
-6
No files matched your search
+3
-3
@@ -4836,7 +4836,7 @@ void mg_multicast_restore(struct mg_connection *c, uint8_t *from) {
|
||||
#define MG_TCPIP_FIN_MS 1000 // Timeout for closing connection
|
||||
|
||||
#ifndef MG_TCPIP_WIN
|
||||
#define MG_TCPIP_WIN 6000 // TCP window size
|
||||
#define MG_TCPIP_WIN 6000 // TCP window size
|
||||
#endif
|
||||
|
||||
struct connstate {
|
||||
@@ -6648,8 +6648,8 @@ static void mg_tcpip_poll(struct mg_tcpip_if *ifp, uint64_t now) {
|
||||
}
|
||||
} else { // Complex poll / Interrupt-based driver. Queues recvd frames
|
||||
char *buf;
|
||||
size_t len;
|
||||
while ((len = mg_queue_next(&ifp->recv_queue, &buf)) > 0) {
|
||||
size_t len, cnt = 7; // Max 7 packets to fetch
|
||||
while (cnt-- > 0 && (len = mg_queue_next(&ifp->recv_queue, &buf)) > 0) {
|
||||
mg_tcpip_rx(ifp, buf, len);
|
||||
mg_queue_del(&ifp->recv_queue, len);
|
||||
}
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@
|
||||
#define MG_TCPIP_FIN_MS 1000 // Timeout for closing connection
|
||||
|
||||
#ifndef MG_TCPIP_WIN
|
||||
#define MG_TCPIP_WIN 6000 // TCP window size
|
||||
#define MG_TCPIP_WIN 6000 // TCP window size
|
||||
#endif
|
||||
|
||||
struct connstate {
|
||||
@@ -1827,8 +1827,8 @@ static void mg_tcpip_poll(struct mg_tcpip_if *ifp, uint64_t now) {
|
||||
}
|
||||
} else { // Complex poll / Interrupt-based driver. Queues recvd frames
|
||||
char *buf;
|
||||
size_t len;
|
||||
while ((len = mg_queue_next(&ifp->recv_queue, &buf)) > 0) {
|
||||
size_t len, cnt = 7; // Max 7 packets to fetch
|
||||
while (cnt-- > 0 && (len = mg_queue_next(&ifp->recv_queue, &buf)) > 0) {
|
||||
mg_tcpip_rx(ifp, buf, len);
|
||||
mg_queue_del(&ifp->recv_queue, len);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user