#
2126:8542c8141a13 |
| 07-Jun-2022 |
Max Romanov |
Removing unused tracking fields and functions.
The message tracking is unused since 1d84b9e4b459 commit.
This fixes the issue found by Coverity (CID 376263).
|
Revision tags: 1.27.0-1, 1.27.0, 1.26.1-1, 1.26.1, 1.26.0-1, 1.26.0, 1.25.0-1, 1.25.0, 1.24.0-1, 1.24.0, 1.23.0-1, 1.23.0, 1.22.0-1, 1.22.0, 1.21.0-1, 1.21.0 |
|
#
1662:1472957bc7bd |
| 27-Oct-2020 |
Max Romanov |
Router: broadcasting the SHM_ACK message to all process ports.
|
Revision tags: 1.20.0-1, 1.20.0, 1.19.0-1, 1.19.0 |
|
#
1546:06017e6e3a5f |
| 11-Aug-2020 |
Max Romanov |
Changing router to application shared memory exchange protocol.
The application process needs to request the shared memory segment from the router instead of the latter pushing the segment before se
Changing router to application shared memory exchange protocol.
The application process needs to request the shared memory segment from the router instead of the latter pushing the segment before sending a request to the application. This is required to simplify the communication between the router and the application and to prepare the router for using the application shared port and then the queue.
show more ...
|
#
1526:5c2a0b6f92e7 |
| 25-Jul-2020 |
Max Romanov |
Using plain shared memory for configuration pass.
There is no restrictions on configration size and using segmented shared memory only doubles memory usage because to parse configration on router si
Using plain shared memory for configuration pass.
There is no restrictions on configration size and using segmented shared memory only doubles memory usage because to parse configration on router side, it needs to be 'plain' e. g. located in single continous memory buffer.
show more ...
|
Revision tags: 1.18.0-1, 1.18.0, 1.17.0-1, 1.17.0, 1.16.0-1, 1.16.0, 1.15.0-1, 1.15.0, 1.14.0-1, 1.14.0, 1.13.0-1, 1.13.0, 1.12.0-1, 1.12.0, 1.11.0-2, 1.11.0-1, 1.11.0, 1.10.0-2, 1.10.0-1, 1.10.0 |
|
#
1125:f92f3cd41257 |
| 15-Aug-2019 |
Max Romanov |
Fixing multi-thread port write racing conditions.
|
Revision tags: 1.9.0-1, 1.9.0, 1.8.0-1, 1.8.0, 1.7.1-1, 1.7.1, 1.7-1, 1.7, 1.6-1, 1.6, 1.5-1, 1.5, 1.4-2, 1.4, 1.3, 1.2, 1.1, 1.0, 0.7, 0.6, 0.5, 0.4, 0.3 |
|
#
423:449f2a9c5e62 |
| 27-Dec-2017 |
Max Romanov |
Implementing the ability to cancel request before worker starts processing it.
|
Revision tags: 0.2 |
|
#
365:28b2a468be43 |
| 19-Oct-2017 |
Max Romanov |
Introducing mmap_handler to count references to shared memory.
"All problems in computer science can be solved by another level of indirection"
Introducing mmap_handler to count references to shared memory.
"All problems in computer science can be solved by another level of indirection"
Butler Lampson
Completion handlers for application response buffers executed after sending the data to client. Application worker can be stopped right after send response buffers to router. Worker stop causes removal of all data structures for the worker.
To prevent shared memory segment unmap, need to count the number of buffers which uses it. So instead of direct reference to shared memory, need to reference to intermediate 'handler' structure with use counter and pointer to shared memory.
show more ...
|
#
364:742e5c203c6d |
| 19-Oct-2017 |
Max Romanov |
Supporting concurrent shared memory fd receive in router.
Two different router threads may send different requests to single application worker. In this case shared memory fds from worker to router
Supporting concurrent shared memory fd receive in router.
Two different router threads may send different requests to single application worker. In this case shared memory fds from worker to router will be send over 2 different router ports. These fds will be received and processed by different threads in any order.
This patch made possible to add incoming shared memory segments in arbitrary order. Additionally, array and memory pool are no longer used to store segments because of pool's single threaded nature.
Custom array-like structure nxt_port_mmaps_t introduced.
show more ...
|
Revision tags: 0.1 |
|
#
206:86a529b2ea9b |
| 11-Aug-2017 |
Max Romanov |
Request body read state implemented.
With specific timeout and buffer size settings.
|
#
197:ae8f843e1fd4 |
| 02-Aug-2017 |
Max Romanov |
Added basic port error handler.
|
#
141:96a65c601420 |
| 12-Jul-2017 |
Max Romanov |
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 proce
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.
show more ...
|
#
82:4be7aabeb2d1 |
| 23-Jun-2017 |
Max Romanov |
Moved message size to nxt_port_recv_msg_t for convenience.
|
#
80:1b394e999c7c |
| 23-Jun-2017 |
Max Romanov |
Store pointer to shared memory start in buf->parent.
nxt_port_mmap_t stored in arrays and it is unsafe to store pointer to array element.
Shared memory structures and macros moved to separate heade
Store pointer to shared memory start in buf->parent.
nxt_port_mmap_t stored in arrays and it is unsafe to store pointer to array element.
Shared memory structures and macros moved to separate header file to be used by GO package.
show more ...
|
#
42:def41906e4a5 |
| 12-May-2017 |
Max Romanov |
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, NX
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);
show more ...
|