Description
Setups secure (unsorted) UDP packet transfer.
Description
This simple module allows to send packages ensuring delivering over an UDP connection using ACKs and timeouts under the hood, also setups the threads needed for listening and sending, making them transparent to the user.
As the packages can be delivered just when they arrive, is not guarenteed that they arrive in order.
Once a sent package has passed many timeouts without been ACKed from the recipient it can be recognized as a lost package, meaning that the recipient cannot longer be reached.
README.md
haskell-secureUDP
Haskell module for secure UDP packet transfer.
- Packets ARE guaranteed to be received (and as fast as possible) if there's a connection.
- Packets ARE guaranteed to arrive just once.
- Packets ARE NOT guaranteed to arrive in order.
Notes:
- It's recommended that on the ChannelConfig, the maxPacketSize isn't set to a value larger than 500. Theoretically the IP protocol should partition packages larger than the MTU, however the packages could be dropped.
- To avoid communication problems, all communicating channels should have the same ChannelConfig, except by the
socket
or theallowed
function.