Lines Matching refs:mtcp
132 mtcp_manager_t mtcp; in mtcp_getsockname() local
135 mtcp = GetMTCPManager(mctx); in mtcp_getsockname()
136 if (!mtcp) { in mtcp_getsockname()
146 socket = &mtcp->smap[sockid]; in mtcp_getsockname()
176 mtcp_manager_t mtcp; in mtcp_getsockopt() local
179 mtcp = GetMTCPManager(mctx); in mtcp_getsockopt()
180 if (!mtcp) { in mtcp_getsockopt()
193 socket = &mtcp->smap[sockid]; in mtcp_getsockopt()
215 if (mtcp->ctx->thread != pthread_self()) { in mtcp_getsockopt()
223 socket = &mtcp->msmap[sockid]; in mtcp_getsockopt()
263 mtcp_manager_t mtcp; in mtcp_setsockopt() local
267 mtcp = GetMTCPManager(mctx); in mtcp_setsockopt()
268 if (!mtcp) { in mtcp_setsockopt()
281 socket = &mtcp->smap[sockid]; in mtcp_setsockopt()
296 socket = &mtcp->msmap[sockid]; in mtcp_setsockopt()
466 mtcp_manager_t mtcp; in mtcp_setsock_nonblock() local
468 mtcp = GetMTCPManager(mctx); in mtcp_setsock_nonblock()
469 if (!mtcp) { in mtcp_setsock_nonblock()
480 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_setsock_nonblock()
486 mtcp->smap[sockid].opts |= MTCP_NONBLOCK; in mtcp_setsock_nonblock()
494 mtcp_manager_t mtcp; in mtcp_ioctl() local
497 mtcp = GetMTCPManager(mctx); in mtcp_ioctl()
498 if (!mtcp) { in mtcp_ioctl()
510 socket = &mtcp->smap[sockid]; in mtcp_ioctl()
543 mtcp->smap[sockid].opts |= MTCP_NONBLOCK; in mtcp_ioctl()
545 mtcp->smap[sockid].opts &= ~MTCP_NONBLOCK; in mtcp_ioctl()
557 mtcp_manager_t mtcp; in mtcp_monitor() local
561 mtcp = GetMTCPManager(mctx); in mtcp_monitor()
562 if (!mtcp) { in mtcp_monitor()
573 if (mtcp->msmap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_monitor()
579 if (!(mtcp->msmap[sockid].socktype == MOS_SOCK_MONITOR_STREAM || in mtcp_monitor()
580 mtcp->msmap[sockid].socktype == MOS_SOCK_MONITOR_RAW)) { in mtcp_monitor()
615 TAILQ_INSERT_TAIL(&mtcp->monitors, monitor, link); in mtcp_monitor()
617 mtcp->msmap[sockid].monitor_listener = monitor; in mtcp_monitor()
625 mtcp_manager_t mtcp; in mtcp_socket() local
628 mtcp = GetMTCPManager(mctx); in mtcp_socket()
629 if (!mtcp) { in mtcp_socket()
658 mtcp_manager_t mtcp = GetMTCPManager(mctx); in mtcp_socket() local
659 if (!mtcp) { in mtcp_socket()
669 InitEvB(mtcp, &socket->monitor_listener->dontcare_evb); in mtcp_socket()
670 InitEvB(mtcp, &socket->monitor_listener->pre_tcp_evb); in mtcp_socket()
671 InitEvB(mtcp, &socket->monitor_listener->post_tcp_evb); in mtcp_socket()
682 mtcp_manager_t mtcp; in mtcp_bind() local
685 mtcp = GetMTCPManager(mctx); in mtcp_bind()
686 if (!mtcp) { in mtcp_bind()
697 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_bind()
703 if (mtcp->smap[sockid].socktype != MOS_SOCK_STREAM && in mtcp_bind()
704 mtcp->smap[sockid].socktype != MOS_SOCK_STREAM_LISTEN) { in mtcp_bind()
716 if (mtcp->smap[sockid].opts & MTCP_ADDR_BIND) { in mtcp_bind()
729 if (mtcp->listener) { in mtcp_bind()
735 mtcp->smap[sockid].saddr = *addr_in; in mtcp_bind()
736 mtcp->smap[sockid].opts |= MTCP_ADDR_BIND; in mtcp_bind()
744 mtcp_manager_t mtcp; in mtcp_listen() local
747 mtcp = GetMTCPManager(mctx); in mtcp_listen()
748 if (!mtcp) { in mtcp_listen()
759 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_listen()
765 if (mtcp->smap[sockid].socktype == MOS_SOCK_STREAM) { in mtcp_listen()
766 mtcp->smap[sockid].socktype = MOS_SOCK_STREAM_LISTEN; in mtcp_listen()
769 if (mtcp->smap[sockid].socktype != MOS_SOCK_STREAM_LISTEN) { in mtcp_listen()
789 listener->socket = &mtcp->smap[sockid]; in mtcp_listen()
811 mtcp->smap[sockid].listener = listener; in mtcp_listen()
812 mtcp->listener = listener; in mtcp_listen()
820 mtcp_manager_t mtcp; in mtcp_accept() local
825 mtcp = GetMTCPManager(mctx); in mtcp_accept()
826 if (!mtcp) { in mtcp_accept()
838 if (mtcp->smap[sockid].socktype != MOS_SOCK_STREAM_LISTEN) { in mtcp_accept()
843 listener = mtcp->smap[sockid].listener; in mtcp_accept()
858 if (mtcp->ctx->done || mtcp->ctx->exit) { in mtcp_accept()
895 AddEpollEvent(mtcp->ep, in mtcp_accept()
916 mtcp_manager_t mtcp; in mtcp_init_rss() local
919 mtcp = GetMTCPManager(mctx); in mtcp_init_rss()
920 if (!mtcp) { in mtcp_init_rss()
946 mtcp->ap = ap; in mtcp_init_rss()
984 mtcp_manager_t mtcp; in mtcp_connect() local
997 mtcp = GetMTCPManager(mctx); in mtcp_connect()
998 if (!mtcp) { in mtcp_connect()
1009 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_connect()
1015 if (mtcp->smap[sockid].socktype != MOS_SOCK_STREAM) { in mtcp_connect()
1034 socket = &mtcp->smap[sockid]; in mtcp_connect()
1063 if (mtcp->ap) { in mtcp_connect()
1064 ret = FetchAddressPerCore(mtcp->ap, in mtcp_connect()
1084 if (mtcp->num_msp > 0) { in mtcp_connect()
1085 TAILQ_FOREACH(walk, &mtcp->monitors, link) { in mtcp_connect()
1097 if (mtcp->num_msp > 0 && cnt_match > 0) { in mtcp_connect()
1100 cur_stream = CreateClientTCPStream(mtcp, socket, in mtcp_connect()
1106 cur_stream = CreateDualTCPStream(mtcp, socket, in mtcp_connect()
1114 cur_stream = CreateTCPStream(mtcp, socket, STREAM_TYPE(MOS_SOCK_STREAM), in mtcp_connect()
1154 SQ_LOCK(&mtcp->ctx->connect_lock); in mtcp_connect()
1155 ret = StreamEnqueue(mtcp->connectq, cur_stream); in mtcp_connect()
1156 SQ_UNLOCK(&mtcp->ctx->connect_lock); in mtcp_connect()
1157 mtcp->wakeup_flag = TRUE; in mtcp_connect()
1160 SQ_LOCK(&mtcp->ctx->destroyq_lock); in mtcp_connect()
1161 StreamEnqueue(mtcp->destroyq, cur_stream); in mtcp_connect()
1162 SQ_UNLOCK(&mtcp->ctx->destroyq_lock); in mtcp_connect()
1200 mtcp_manager_t mtcp; in CloseStreamSocket() local
1204 mtcp = GetMTCPManager(mctx); in CloseStreamSocket()
1205 if (!mtcp) { in CloseStreamSocket()
1210 cur_stream = mtcp->smap[sockid].stream; in CloseStreamSocket()
1232 SQ_LOCK(&mtcp->ctx->destroyq_lock); in CloseStreamSocket()
1233 StreamEnqueue(mtcp->destroyq, cur_stream); in CloseStreamSocket()
1234 mtcp->wakeup_flag = TRUE; in CloseStreamSocket()
1235 SQ_UNLOCK(&mtcp->ctx->destroyq_lock); in CloseStreamSocket()
1240 SQ_LOCK(&mtcp->ctx->destroyq_lock); in CloseStreamSocket()
1241 StreamEnqueue(mtcp->destroyq, cur_stream); in CloseStreamSocket()
1242 SQ_UNLOCK(&mtcp->ctx->destroyq_lock); in CloseStreamSocket()
1243 mtcp->wakeup_flag = TRUE; in CloseStreamSocket()
1255 SQ_LOCK(&mtcp->ctx->close_lock); in CloseStreamSocket()
1257 ret = StreamEnqueue(mtcp->closeq, cur_stream); in CloseStreamSocket()
1258 mtcp->wakeup_flag = TRUE; in CloseStreamSocket()
1259 SQ_UNLOCK(&mtcp->ctx->close_lock); in CloseStreamSocket()
1273 mtcp_manager_t mtcp; in CloseListeningSocket() local
1276 mtcp = GetMTCPManager(mctx); in CloseListeningSocket()
1277 if (!mtcp) { in CloseListeningSocket()
1282 listener = mtcp->smap[sockid].listener; in CloseListeningSocket()
1301 mtcp->smap[sockid].listener = NULL; in CloseListeningSocket()
1309 mtcp_manager_t mtcp; in mtcp_close() local
1312 mtcp = GetMTCPManager(mctx); in mtcp_close()
1313 if (!mtcp) { in mtcp_close()
1324 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_close()
1332 switch (mtcp->smap[sockid].socktype) { in mtcp_close()
1355 FreeSocket(mctx, sockid, mtcp->smap[sockid].socktype); in mtcp_close()
1363 mtcp_manager_t mtcp; in mtcp_abort() local
1367 mtcp = GetMTCPManager(mctx); in mtcp_abort()
1368 if (!mtcp) { in mtcp_abort()
1379 if (mtcp->smap[sockid].socktype == MOS_SOCK_UNUSED) { in mtcp_abort()
1385 if (mtcp->smap[sockid].socktype != MOS_SOCK_STREAM) { in mtcp_abort()
1391 cur_stream = mtcp->smap[sockid].stream; in mtcp_abort()
1400 FreeSocket(mctx, sockid, mtcp->smap[sockid].socktype); in mtcp_abort()
1413 SQ_LOCK(&mtcp->ctx->destroyq_lock); in mtcp_abort()
1414 StreamEnqueue(mtcp->destroyq, cur_stream); in mtcp_abort()
1415 SQ_UNLOCK(&mtcp->ctx->destroyq_lock); in mtcp_abort()
1416 mtcp->wakeup_flag = TRUE; in mtcp_abort()
1425 SQ_LOCK(&mtcp->ctx->destroyq_lock); in mtcp_abort()
1426 StreamEnqueue(mtcp->destroyq, cur_stream); in mtcp_abort()
1427 SQ_UNLOCK(&mtcp->ctx->destroyq_lock); in mtcp_abort()
1428 mtcp->wakeup_flag = TRUE; in mtcp_abort()
1439 SQ_LOCK(&mtcp->ctx->reset_lock); in mtcp_abort()
1441 ret = StreamEnqueue(mtcp->resetq, cur_stream); in mtcp_abort()
1442 SQ_UNLOCK(&mtcp->ctx->reset_lock); in mtcp_abort()
1443 mtcp->wakeup_flag = TRUE; in mtcp_abort()
1455 PeekForUser(mtcp_manager_t mtcp, tcp_stream *cur_stream, char *buf, int len) in PeekForUser() argument
1470 CopyToUser(mtcp_manager_t mtcp, tcp_stream *cur_stream, char *buf, int len) in CopyToUser() argument
1488 SQ_LOCK(&mtcp->ctx->ackq_lock); in CopyToUser()
1490 StreamEnqueue(mtcp->ackq, cur_stream); /* this always success */ in CopyToUser()
1491 SQ_UNLOCK(&mtcp->ctx->ackq_lock); in CopyToUser()
1493 mtcp->wakeup_flag = TRUE; in CopyToUser()
1504 mtcp_manager_t mtcp; in mtcp_recv() local
1511 mtcp = GetMTCPManager(mctx); in mtcp_recv()
1512 if (!mtcp) { in mtcp_recv()
1523 socket = &mtcp->smap[sockid]; in mtcp_recv()
1571 ret = CopyToUser(mtcp, cur_stream, buf, len); in mtcp_recv()
1574 ret = PeekForUser(mtcp, cur_stream, buf, len); in mtcp_recv()
1602 AddEpollEvent(mtcp->ep, in mtcp_recv()
1620 mtcp_manager_t mtcp; in mtcp_readv() local
1627 mtcp = GetMTCPManager(mctx); in mtcp_readv()
1628 if (!mtcp) { in mtcp_readv()
1639 socket = &mtcp->smap[sockid]; in mtcp_readv()
1687 ret = CopyToUser(mtcp, cur_stream, iov[i].iov_base, iov[i].iov_len); in mtcp_readv()
1717 AddEpollEvent(mtcp->ep, in mtcp_readv()
1728 CopyFromUser(mtcp_manager_t mtcp, tcp_stream *cur_stream, const char *buf, int len) in CopyFromUser() argument
1742 sndvar->sndbuf = SBInit(mtcp->rbm_snd, sndvar->iss + 1); in CopyFromUser()
1751 ret = SBPut(mtcp->rbm_snd, sndvar->sndbuf, buf, sndlen); in CopyFromUser()
1772 mtcp_manager_t mtcp; in mtcp_write() local
1778 mtcp = GetMTCPManager(mctx); in mtcp_write()
1779 if (!mtcp) { in mtcp_write()
1790 socket = &mtcp->smap[sockid]; in mtcp_write()
1827 ret = CopyFromUser(mtcp, cur_stream, buf, len); in mtcp_write()
1832 SQ_LOCK(&mtcp->ctx->sendq_lock); in mtcp_write()
1834 StreamEnqueue(mtcp->sendq, cur_stream); /* this always success */ in mtcp_write()
1835 SQ_UNLOCK(&mtcp->ctx->sendq_lock); in mtcp_write()
1836 mtcp->wakeup_flag = TRUE; in mtcp_write()
1847 AddEpollEvent(mtcp->ep, in mtcp_write()
1859 mtcp_manager_t mtcp; in mtcp_writev() local
1865 mtcp = GetMTCPManager(mctx); in mtcp_writev()
1866 if (!mtcp) { in mtcp_writev()
1877 socket = &mtcp->smap[sockid]; in mtcp_writev()
1907 ret = CopyFromUser(mtcp, cur_stream, iov[i].iov_base, iov[i].iov_len); in mtcp_writev()
1919 SQ_LOCK(&mtcp->ctx->sendq_lock); in mtcp_writev()
1921 StreamEnqueue(mtcp->sendq, cur_stream); /* this always success */ in mtcp_writev()
1922 SQ_UNLOCK(&mtcp->ctx->sendq_lock); in mtcp_writev()
1923 mtcp->wakeup_flag = TRUE; in mtcp_writev()
1934 AddEpollEvent(mtcp->ep, in mtcp_writev()
1947 mtcp_manager_t mtcp; in mtcp_get_connection_cnt() local
1948 mtcp = GetMTCPManager(mctx); in mtcp_get_connection_cnt()
1949 if (!mtcp) { in mtcp_get_connection_cnt()
1954 if (mtcp->num_msp > 0) in mtcp_get_connection_cnt()
1955 return mtcp->flow_cnt / 2; in mtcp_get_connection_cnt()
1957 return mtcp->flow_cnt; in mtcp_get_connection_cnt()