diff options
author | Max Romanov <max.romanov@nginx.com> | 2017-10-04 15:03:45 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2017-10-04 15:03:45 +0300 |
commit | 00ecf713e36de2a5efffe761458b7ac0328bce87 (patch) | |
tree | d10e45f41d972326c4e5469a2cf4248a465514b6 /src/nxt_port.h | |
parent | 0faecee609b66a353d27499ca78ff6abcd3fef14 (diff) | |
download | unit-00ecf713e36de2a5efffe761458b7ac0328bce87.tar.gz unit-00ecf713e36de2a5efffe761458b7ac0328bce87.tar.bz2 |
Port message fragmentation supported.
- Each sendmsg() transmits no more than port->max_size payload data.
- Longer buffers are fragmented and send using multiple sendmsg() calls.
- On receive side, buffers are connected in chain.
- Number of handler calls is the same as number of nxt_port_socket_write()
calls.
- nxt_buf_make_plain() function introduced to make single plain buffer from
the chain.
Diffstat (limited to 'src/nxt_port.h')
-rw-r--r-- | src/nxt_port.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nxt_port.h b/src/nxt_port.h index 09ad6367..bade2adb 100644 --- a/src/nxt_port.h +++ b/src/nxt_port.h @@ -106,6 +106,9 @@ typedef struct { /* Message data send using mmap, next chunk is a nxt_port_mmap_msg_t. */ uint8_t mmap; /* 1 bit */ + + uint8_t nf; + uint8_t mf; } nxt_port_msg_t; @@ -171,6 +174,8 @@ struct nxt_port_s { nxt_lvlhsh_t rpc_streams; /* stream to nxt_port_rpc_reg_t */ nxt_lvlhsh_t rpc_peers; /* peer to queue of nxt_port_rpc_reg_t */ + nxt_lvlhsh_t frags; + nxt_atomic_t use_count; nxt_process_type_t type; |