blob: 2840a7361654ceb342f01e05ef3cb39b31ce1e85 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
module Network.WireGuard.Internal.PacketQueue
( PacketQueue
, newPacketQueue
, popPacketQueue
, pushPacketQueue
, module Control.Concurrent.Chan
) where
import Control.Concurrent.Chan
type PacketQueue packet = Chan packet
newPacketQueue :: IO (PacketQueue packet)
newPacketQueue = newChan
popPacketQueue :: PacketQueue packet -> IO packet
popPacketQueue = readChan
pushPacketQueue :: PacketQueue packet -> packet -> IO ()
pushPacketQueue = writeChan
|