Lines Matching refs:port

103     nxt_unit_port_t *port, nxt_chunk_id_t *c, int *n, int min_n);
104 static int nxt_unit_send_oosm(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port);
108 nxt_unit_port_t *port, int n);
110 static int nxt_unit_send_mmap(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port,
113 nxt_unit_port_t *port, uint32_t size,
147 nxt_unit_port_t *port);
152 nxt_unit_port_t *port, int queue_fd);
154 nxt_inline void nxt_unit_port_use(nxt_unit_port_t *port);
155 nxt_inline void nxt_unit_port_release(nxt_unit_port_t *port);
157 nxt_unit_port_t *port, void *queue);
170 nxt_unit_port_t *port, const void *buf, size_t buf_size,
174 static int nxt_unit_ctx_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port,
178 static int nxt_unit_shared_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port,
180 static int nxt_unit_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port,
182 static int nxt_unit_port_queue_recv(nxt_unit_port_t *port,
184 static int nxt_unit_app_queue_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port,
190 nxt_unit_port_t *port);
383 nxt_unit_port_t port; member
1185 nxt_unit_port_t new_port, *port; in nxt_unit_process_new_port() local
1232 port = nxt_unit_add_port(ctx, &new_port, mem); in nxt_unit_process_new_port()
1233 if (nxt_slow_path(port == NULL)) { in nxt_unit_process_new_port()
1237 nxt_unit_port_release(port); in nxt_unit_process_new_port()
1473 nxt_unit_port_t *port; in nxt_unit_request_check_response_port() local
1485 port = nxt_unit_port_hash_find(&lib->ports, port_id, 0); in nxt_unit_request_check_response_port()
1486 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_request_check_response_port()
1488 if (nxt_fast_path(port != NULL)) { in nxt_unit_request_check_response_port()
1489 req->response_port = port; in nxt_unit_request_check_response_port()
1495 (int) port->id.pid, (int) port->id.id); in nxt_unit_request_check_response_port()
1502 (int) port->id.pid, (int) port->id.id); in nxt_unit_request_check_response_port()
1526 port = &port_impl->port; in nxt_unit_request_check_response_port()
1528 port->id = *port_id; in nxt_unit_request_check_response_port()
1529 port->in_fd = -1; in nxt_unit_request_check_response_port()
1530 port->out_fd = -1; in nxt_unit_request_check_response_port()
1531 port->data = NULL; in nxt_unit_request_check_response_port()
1533 res = nxt_unit_port_hash_add(&lib->ports, port); in nxt_unit_request_check_response_port()
1536 port->id.pid, port->id.id); in nxt_unit_request_check_response_port()
1540 nxt_unit_free(ctx, port); in nxt_unit_request_check_response_port()
1548 port->id.pid); in nxt_unit_request_check_response_port()
1554 nxt_unit_free(ctx, port); in nxt_unit_request_check_response_port()
1575 req->response_port = port; in nxt_unit_request_check_response_port()
3492 nxt_unit_mmap_get(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_mmap_get() argument
3515 && (hdr->sent_over != port->id.id in nxt_unit_mmap_get()
3576 res = nxt_unit_send_oosm(ctx, port); in nxt_unit_mmap_get()
3602 hdr = nxt_unit_new_mmap(ctx, port, *n); in nxt_unit_mmap_get()
3618 nxt_unit_send_oosm(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port) in nxt_unit_send_oosm() argument
3745 nxt_unit_new_mmap(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, int n) in nxt_unit_new_mmap() argument
3785 hdr->dst_pid = port->id.pid; in nxt_unit_new_mmap()
3786 hdr->sent_over = port->id.id; in nxt_unit_new_mmap()
3800 rc = nxt_unit_send_mmap(ctx, port, fd); in nxt_unit_new_mmap()
3807 hdr->id, (int) lib->pid, (int) port->id.pid); in nxt_unit_new_mmap()
3900 nxt_unit_send_mmap(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, int fd) in nxt_unit_send_mmap() argument
3921 res = nxt_unit_port_send(ctx, port, &msg, sizeof(msg), &oob); in nxt_unit_send_mmap()
3931 nxt_unit_get_outgoing_buf(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_get_outgoing_buf() argument
3968 hdr = nxt_unit_mmap_get(ctx, port, &c, &nchunks, min_nchunks); in nxt_unit_get_outgoing_buf()
4626 port); in nxt_unit_read_buf()
5036 nxt_unit_process_port_msg(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port) in nxt_unit_process_port_msg() argument
5042 rc = nxt_unit_process_port_msg_impl(ctx, port); in nxt_unit_process_port_msg()
5051 nxt_unit_process_port_msg_impl(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port) in nxt_unit_process_port_msg_impl() argument
5059 if (port == lib->shared_port && !nxt_unit_chk_ready(ctx)) { in nxt_unit_process_port_msg_impl()
5068 if (port == lib->shared_port) { in nxt_unit_process_port_msg_impl()
5069 rc = nxt_unit_shared_port_recv(ctx, port, rbuf); in nxt_unit_process_port_msg_impl()
5072 rc = nxt_unit_ctx_port_recv(ctx, port, rbuf); in nxt_unit_process_port_msg_impl()
5109 nxt_unit_port_t *port; in nxt_unit_ctx_alloc() local
5132 port = nxt_unit_create_port(&new_ctx->ctx); in nxt_unit_ctx_alloc()
5133 if (nxt_slow_path(port == NULL)) { in nxt_unit_ctx_alloc()
5137 new_ctx->read_port = port; in nxt_unit_ctx_alloc()
5155 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_ctx_alloc()
5158 rc = nxt_unit_send_port(&new_ctx->ctx, lib->router_port, port, queue_fd); in nxt_unit_ctx_alloc()
5277 nxt_unit_port_t new_port, *port; in nxt_unit_create_port() local
5333 port = nxt_unit_add_port(ctx, &new_port, NULL); in nxt_unit_create_port()
5334 if (nxt_slow_path(port == NULL)) { in nxt_unit_create_port()
5339 return port; in nxt_unit_create_port()
5345 nxt_unit_port_t *port, int queue_fd) in nxt_unit_send_port() argument
5350 int fds[2] = { port->out_fd, queue_fd }; in nxt_unit_send_port()
5368 m.new_port.id = port->id.id; in nxt_unit_send_port()
5369 m.new_port.pid = port->id.pid; in nxt_unit_send_port()
5382 nxt_inline void nxt_unit_port_use(nxt_unit_port_t *port) in nxt_unit_port_use() argument
5386 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_port_use()
5392 nxt_inline void nxt_unit_port_release(nxt_unit_port_t *port) in nxt_unit_port_release() argument
5397 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_port_release()
5403 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_release()
5404 port->in_fd, port->out_fd); in nxt_unit_port_release()
5408 if (port->in_fd != -1) { in nxt_unit_port_release()
5409 nxt_unit_close(port->in_fd); in nxt_unit_port_release()
5411 port->in_fd = -1; in nxt_unit_port_release()
5414 if (port->out_fd != -1) { in nxt_unit_port_release()
5415 nxt_unit_close(port->out_fd); in nxt_unit_port_release()
5417 port->out_fd = -1; in nxt_unit_port_release()
5421 munmap(port_impl->queue, (port->id.id == NXT_UNIT_SHARED_PORT_ID) in nxt_unit_port_release()
5432 nxt_unit_add_port(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, void *queue) in nxt_unit_add_port() argument
5445 old_port = nxt_unit_port_hash_find(&lib->ports, &port->id, 0); in nxt_unit_add_port()
5450 port->id.pid, port->id.id, in nxt_unit_add_port()
5451 port->in_fd, port->out_fd, queue); in nxt_unit_add_port()
5454 old_port->data = port->data; in nxt_unit_add_port()
5455 port->data = NULL; in nxt_unit_add_port()
5459 old_port->in_fd = port->in_fd; in nxt_unit_add_port()
5460 port->in_fd = -1; in nxt_unit_add_port()
5463 if (port->in_fd != -1) { in nxt_unit_add_port()
5464 nxt_unit_close(port->in_fd); in nxt_unit_add_port()
5465 port->in_fd = -1; in nxt_unit_add_port()
5469 old_port->out_fd = port->out_fd; in nxt_unit_add_port()
5470 port->out_fd = -1; in nxt_unit_add_port()
5473 if (port->out_fd != -1) { in nxt_unit_add_port()
5474 nxt_unit_close(port->out_fd); in nxt_unit_add_port()
5475 port->out_fd = -1; in nxt_unit_add_port()
5478 *port = *old_port; in nxt_unit_add_port()
5482 old_port_impl = nxt_container_of(old_port, nxt_unit_port_impl_t, port); in nxt_unit_add_port()
5488 ready = (port->in_fd != -1 || port->out_fd != -1); in nxt_unit_add_port()
5529 port->id.pid, port->id.id, in nxt_unit_add_port()
5530 port->in_fd, port->out_fd, queue); in nxt_unit_add_port()
5532 process = nxt_unit_process_get(ctx, port->id.pid); in nxt_unit_add_port()
5537 if (port->id.id != NXT_UNIT_SHARED_PORT_ID in nxt_unit_add_port()
5538 && port->id.id >= process->next_port_id) in nxt_unit_add_port()
5540 process->next_port_id = port->id.id + 1; in nxt_unit_add_port()
5546 port->id.pid, port->id.id); in nxt_unit_add_port()
5551 new_port->port = *port; in nxt_unit_add_port()
5553 rc = nxt_unit_port_hash_add(&lib->ports, &new_port->port); in nxt_unit_add_port()
5556 port->id.pid, port->id.id); in nxt_unit_add_port()
5575 ready = (port->in_fd != -1 || port->out_fd != -1); in nxt_unit_add_port()
5595 lib->callbacks.add_port(ctx, &new_port->port); in nxt_unit_add_port()
5613 return (new_port == NULL) ? NULL : &new_port->port; in nxt_unit_add_port()
5650 nxt_unit_port_t *port; in nxt_unit_remove_port() local
5655 port = nxt_unit_remove_port_unsafe(lib, port_id); in nxt_unit_remove_port()
5657 if (nxt_fast_path(port != NULL)) { in nxt_unit_remove_port()
5658 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_remove_port()
5665 if (lib->callbacks.remove_port != NULL && port != NULL) { in nxt_unit_remove_port()
5666 lib->callbacks.remove_port(&lib->unit, ctx, port); in nxt_unit_remove_port()
5669 if (nxt_fast_path(port != NULL)) { in nxt_unit_remove_port()
5670 nxt_unit_port_release(port); in nxt_unit_remove_port()
5678 nxt_unit_port_t *port; in nxt_unit_remove_port_unsafe() local
5680 port = nxt_unit_port_hash_find(&lib->ports, port_id, 1); in nxt_unit_remove_port_unsafe()
5681 if (nxt_slow_path(port == NULL)) { in nxt_unit_remove_port_unsafe()
5690 port->in_fd, port->out_fd, port->data); in nxt_unit_remove_port_unsafe()
5692 return port; in nxt_unit_remove_port_unsafe()
5724 nxt_unit_port_impl_t *port; in nxt_unit_remove_process() local
5730 nxt_queue_each(port, &ports, nxt_unit_port_impl_t, link) { in nxt_unit_remove_process()
5732 nxt_unit_remove_port_unsafe(lib, &port->port.id); in nxt_unit_remove_process()
5738 nxt_queue_each(port, &ports, nxt_unit_port_impl_t, link) { in nxt_unit_remove_process()
5740 nxt_queue_remove(&port->link); in nxt_unit_remove_process()
5743 lib->callbacks.remove_port(&lib->unit, NULL, &port->port); in nxt_unit_remove_process()
5746 nxt_unit_port_release(&port->port); in nxt_unit_remove_process()
5903 nxt_unit_port_send(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_port_send() argument
5915 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_port_send()
5922 (int) port->id.pid, (int) port->id.id); in nxt_unit_port_send()
5928 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_send()
5937 ret = nxt_unit_sendmsg(ctx, port->out_fd, &msg, in nxt_unit_port_send()
5941 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_send()
5945 ret = lib->callbacks.port_send(ctx, port, &msg, in nxt_unit_port_send()
5949 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_send()
5964 (int) port->id.pid, (int) port->id.id); in nxt_unit_port_send()
5970 (int) port->id.pid, (int) port->id.id, notify); in nxt_unit_port_send()
5974 ret = lib->callbacks.port_send(ctx, port, buf, buf_size, in nxt_unit_port_send()
5979 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_send()
5983 ret = nxt_unit_sendmsg(ctx, port->out_fd, buf, buf_size, oob); in nxt_unit_port_send()
5986 (int) port->id.pid, (int) port->id.id, in nxt_unit_port_send()
6033 nxt_unit_ctx_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_ctx_port_recv() argument
6039 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_ctx_port_recv()
6055 (int) port->id.pid, (int) port->id.id, in nxt_unit_ctx_port_recv()
6062 res = nxt_unit_port_queue_recv(port, rbuf); in nxt_unit_ctx_port_recv()
6069 (int) port->id.pid, (int) port->id.id, in nxt_unit_ctx_port_recv()
6076 (int) port->id.pid, (int) port->id.id, in nxt_unit_ctx_port_recv()
6087 res = nxt_unit_port_recv(ctx, port, rbuf); in nxt_unit_ctx_port_recv()
6096 (int) port->id.pid, (int) port->id.id, (int) rbuf->size); in nxt_unit_ctx_port_recv()
6102 (int) port->id.pid, (int) port->id.id, in nxt_unit_ctx_port_recv()
6116 (int) port->id.pid, (int) port->id.id, in nxt_unit_ctx_port_recv()
6154 nxt_unit_shared_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_shared_port_recv() argument
6160 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_shared_port_recv()
6164 res = nxt_unit_app_queue_recv(ctx, port, rbuf); in nxt_unit_shared_port_recv()
6171 res = nxt_unit_port_recv(ctx, port, rbuf); in nxt_unit_shared_port_recv()
6180 (int) port->id.pid, (int) port->id.id, (int) rbuf->size); in nxt_unit_shared_port_recv()
6191 nxt_unit_port_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_port_recv() argument
6204 rbuf->size = lib->callbacks.port_recv(ctx, port, in nxt_unit_port_recv()
6209 (int) port->id.pid, (int) port->id.id, (int) rbuf->size); in nxt_unit_port_recv()
6222 fd = port->in_fd; in nxt_unit_port_recv()
6255 nxt_unit_port_queue_recv(nxt_unit_port_t *port, nxt_unit_read_buf_t *rbuf) in nxt_unit_port_queue_recv() argument
6259 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_port_queue_recv()
6268 nxt_unit_app_queue_recv(nxt_unit_ctx_t *ctx, nxt_unit_port_t *port, in nxt_unit_app_queue_recv() argument
6282 port_impl = nxt_container_of(port, nxt_unit_port_impl_t, port); in nxt_unit_app_queue_recv()
6366 nxt_unit_port_t *port; in nxt_unit_port_hash_test() local
6369 port = data; in nxt_unit_port_hash_test()
6373 && port_id->pid == port->id.pid in nxt_unit_port_hash_test()
6374 && port_id->id == port->id.id) in nxt_unit_port_hash_test()
6420 nxt_unit_port_hash_add(nxt_lvlhsh_t *port_hash, nxt_unit_port_t *port) in nxt_unit_port_hash_add() argument
6426 nxt_unit_port_hash_lhq(&lhq, &port_hash_id, &port->id); in nxt_unit_port_hash_add()
6428 lhq.value = port; in nxt_unit_port_hash_add()