mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-02 12:52:10 +00:00
api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE, DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues sizes), like suggested for the task #7490 "Add return value to sys_mbox_post".
This commit is contained in:
parent
886cfbe12d
commit
9906e4c984
@ -19,6 +19,11 @@ HISTORY
|
|||||||
|
|
||||||
++ New features:
|
++ New features:
|
||||||
|
|
||||||
|
2008-01-12 Frédéric Bernon
|
||||||
|
* api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE,
|
||||||
|
DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues
|
||||||
|
sizes), like suggested for the task #7490 "Add return value to sys_mbox_post".
|
||||||
|
|
||||||
2008-01-10 Frédéric Bernon
|
2008-01-10 Frédéric Bernon
|
||||||
* tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490
|
* tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490
|
||||||
"Add return value to sys_mbox_post". tcpip_callback is always defined as
|
"Add return value to sys_mbox_post". tcpip_callback is always defined as
|
||||||
|
@ -460,6 +460,7 @@ struct netconn*
|
|||||||
netconn_alloc(enum netconn_type t, netconn_callback callback)
|
netconn_alloc(enum netconn_type t, netconn_callback callback)
|
||||||
{
|
{
|
||||||
struct netconn *conn;
|
struct netconn *conn;
|
||||||
|
int size;
|
||||||
|
|
||||||
conn = memp_malloc(MEMP_NETCONN);
|
conn = memp_malloc(MEMP_NETCONN);
|
||||||
if (conn == NULL) {
|
if (conn == NULL) {
|
||||||
@ -470,15 +471,42 @@ netconn_alloc(enum netconn_type t, netconn_callback callback)
|
|||||||
conn->type = t;
|
conn->type = t;
|
||||||
conn->pcb.tcp = NULL;
|
conn->pcb.tcp = NULL;
|
||||||
|
|
||||||
|
#if (DEFAULT_RAW_RECVMBOX_SIZE == DEFAULT_UDP_RECVMBOX_SIZE) && \
|
||||||
|
(DEFAULT_RAW_RECVMBOX_SIZE == DEFAULT_TCP_RECVMBOX_SIZE)
|
||||||
|
size = DEFAULT_RAW_RECVMBOX_SIZE;
|
||||||
|
#else
|
||||||
|
switch(NETCONNTYPE_GROUP(t)) {
|
||||||
|
#if LWIP_RAW
|
||||||
|
case NETCONN_RAW:
|
||||||
|
size = DEFAULT_RAW_RECVMBOX_SIZE;
|
||||||
|
break;
|
||||||
|
#endif /* LWIP_RAW */
|
||||||
|
#if LWIP_UDP
|
||||||
|
case NETCONN_UDP:
|
||||||
|
size = DEFAULT_UDP_RECVMBOX_SIZE;
|
||||||
|
break;
|
||||||
|
#endif /* LWIP_UDP */
|
||||||
|
#if LWIP_TCP
|
||||||
|
case NETCONN_TCP:
|
||||||
|
size = DEFAULT_TCP_RECVMBOX_SIZE;
|
||||||
|
break;
|
||||||
|
#endif /* LWIP_TCP */
|
||||||
|
default:
|
||||||
|
LWIP_ASSERT("netconn_alloc: undefined netconn_type", 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((conn->sem = sys_sem_new(0)) == SYS_SEM_NULL) {
|
if ((conn->sem = sys_sem_new(0)) == SYS_SEM_NULL) {
|
||||||
memp_free(MEMP_NETCONN, conn);
|
memp_free(MEMP_NETCONN, conn);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if ((conn->recvmbox = sys_mbox_new(DEFAULT_RECVMBOX_SIZE)) == SYS_MBOX_NULL) {
|
if ((conn->recvmbox = sys_mbox_new(size)) == SYS_MBOX_NULL) {
|
||||||
sys_sem_free(conn->sem);
|
sys_sem_free(conn->sem);
|
||||||
memp_free(MEMP_NETCONN, conn);
|
memp_free(MEMP_NETCONN, conn);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
conn->acceptmbox = SYS_MBOX_NULL;
|
conn->acceptmbox = SYS_MBOX_NULL;
|
||||||
conn->state = NETCONN_NONE;
|
conn->state = NETCONN_NONE;
|
||||||
/* initialize socket to -1 since 0 is a valid socket */
|
/* initialize socket to -1 since 0 is a valid socket */
|
||||||
|
@ -958,12 +958,30 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DEFAULT_RECVMBOX_SIZE: The mailbox size for the incoming packets.
|
* DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
|
||||||
* The queue size value itself is platform-dependent, but is passed to
|
* NETCONN_RAW. The queue size value itself is platform-dependent, but is passed
|
||||||
* sys_mbox_new() when the recvmbox is created.
|
* to sys_mbox_new() when the recvmbox is created.
|
||||||
*/
|
*/
|
||||||
#ifndef DEFAULT_RECVMBOX_SIZE
|
#ifndef DEFAULT_RAW_RECVMBOX_SIZE
|
||||||
#define DEFAULT_RECVMBOX_SIZE 0
|
#define DEFAULT_RAW_RECVMBOX_SIZE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
|
||||||
|
* NETCONN_UDP. The queue size value itself is platform-dependent, but is passed
|
||||||
|
* to sys_mbox_new() when the recvmbox is created.
|
||||||
|
*/
|
||||||
|
#ifndef DEFAULT_UDP_RECVMBOX_SIZE
|
||||||
|
#define DEFAULT_UDP_RECVMBOX_SIZE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a
|
||||||
|
* NETCONN_TCP. The queue size value itself is platform-dependent, but is passed
|
||||||
|
* to sys_mbox_new() when the recvmbox is created.
|
||||||
|
*/
|
||||||
|
#ifndef DEFAULT_TCP_RECVMBOX_SIZE
|
||||||
|
#define DEFAULT_TCP_RECVMBOX_SIZE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user