Max Romanov
e1e808bd94
Sync flag introduced for port type.
...
To avoid transfer mmap_msg before new mmap message.
2017-08-11 18:04:04 +03:00
Max Romanov
1b354421c3
Tiny mmap buffers completion fixed.
...
Small mmap buffers transferred in 'plain' mode and should be freed by sender.
2017-08-11 18:04:04 +03:00
Max Romanov
b150f07e80
Added basic port error handler.
2017-08-02 13:36:29 +03:00
Max Romanov
9367dd2bf8
Implicit port read buffer completion.
...
To disable implicit completion, handler should reset msg->buf field.
2017-08-02 13:21:32 +03:00
Max Romanov
3812ffd336
Added bit flags to type parameter of nxt_port_socket_write().
...
NXT_PORT_MSG_LAST - mark message as last;
NXT_PORT_MSG_CLOSE_FD - close fd right after send;
Type constants altered to include last flag for single buffer messages.
Last sign is critical for coming port RPC layer. Handlers unregistered on last
message. Create sync buffer is not convenient, extra parameter is better.
2017-08-02 13:10:48 +03:00
Max Romanov
eb675f2d78
Port allocation and destroy changed. Worker process stop introduced.
2017-07-18 00:21:14 +03:00
Max Romanov
b0c1e740cf
New process port exchange changed. READY message type introduced.
...
Application process start request DATA message from router to master.
Master notifies router via NEW_PORT message after worker process become ready.
2017-07-12 20:32:16 +03:00
Max Romanov
e15b975e9d
Work queue thread safety checks for DEBUG build.
2017-07-07 16:01:34 +03:00
Max Romanov
74cda90e31
Process stop notification from master to all other processes.
...
New port message type introduced NXT_PORT_MSG_REMOVE_PID. Default handler
removes process description from nxt_runtime_t with all ports, incoming and
outgoing mmaps etc.
2017-07-07 16:01:34 +03:00
Max Romanov
f319220a6c
Redirecting buffer completion handler to specific engine.
...
There is a case in router where we use port in router connection thread.
Buffers are allocated within connection memory pool which can be used only in
this router thread. sendmsg() can be postponed into main router thread and
completion handler will compare current engine and post itself to correct
engine.
2017-07-07 16:01:34 +03:00
Max Romanov
abe0d33329
Increased size of iovec when data passed using shared memory.
...
Useful for tiny shared memory segment test case.
2017-06-23 19:20:08 +03:00
Max Romanov
3b9aa27625
Added mem_pool pointer member to nxt_port_send_msg_t.
...
To decouple nxt_port_send_msg_t from port.
2017-06-23 19:20:08 +03:00
Max Romanov
eaf28db46e
Moved message size to nxt_port_recv_msg_t for convenience.
2017-06-23 19:20:08 +03:00
Igor Sysoev
f888a5310c
Using new memory pool implementation.
2017-06-20 19:49:17 +03:00
Max Romanov
f7b4bdfd89
Using shared memory to send data via nxt_port.
...
Usage:
b = nxt_port_mmap_get_buf(task, port, size);
b->mem.free = nxt_cpymem(b->mem.free, data, size);
nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
2017-05-12 20:32:41 +03:00
Igor Sysoev
b379dae85e
Port changes.
2017-02-22 15:10:28 +03:00
Igor Sysoev
029942f4eb
I/O operations refactoring.
2017-02-22 15:09:59 +03:00
Igor Sysoev
059a864289
Event engines refactoring.
2017-02-07 20:04:56 +03:00
Igor Sysoev
e57b95a923
Process channels have been renamed to ports.
2017-02-01 20:03:45 +03:00