diff options
author | Guillaume Nault <g.nault@alphalink.fr> | 2014-04-08 22:54:34 +0200 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2014-04-11 06:47:27 +0400 |
commit | f0f5c28e7a929285148e1cfc3788f1f1dbdc09d5 (patch) | |
tree | 995a9f63b343d7406a0f2f8a66ddb419bb717db3 /accel-pppd/ctrl/pptp | |
parent | c924d549138bf40085da8a6498492002c847ed4e (diff) | |
download | accel-ppp-f0f5c28e7a929285148e1cfc3788f1f1dbdc09d5.tar.gz accel-ppp-f0f5c28e7a929285148e1cfc3788f1f1dbdc09d5.zip |
l2tp: separate send and retransmission queues
Don't send messages immediately, store them in conn->send_queue
instead, so we have control over how many and when messages are
sent on the network. Once a message is sent, it's removed from
the send queue and added to the retransmission queue.
Retransmission queue is automatically updated based on acknowledgements
received from peer.
For now, packets in the send queue are pushed on the network after
each incoming packet processing. So functions called by l2tp_conn_read()
don't have to call l2tp_tunnel_push_sendqueue().
Other functions (e.g. triton callbacks) have to manually push packets
out of the send queue.
The same applies for disconnection. The l2tp_tunnel_disconnect_push()
and l2tp_session_disconnect_push() functions have been defined for use
in functions that don't call l2tp_tunnel_push_sendqueue() automatically.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Diffstat (limited to 'accel-pppd/ctrl/pptp')
0 files changed, 0 insertions, 0 deletions