network-house-0.1.0.2: data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP

Safe HaskellSafe
LanguageHaskell98

Net.Utils

Description

Various utilities used in the network protocol stack modules

Synopsis

Documentation

class Functor f => Container f where #

Minimal complete definition

contents

Methods

contents :: f a -> a #

Instances

Container Packet # 

Methods

contents :: Packet a -> a #

Container Packet # 

Methods

contents :: Packet a -> a #

Container Packet # 

Methods

contents :: Packet a -> a #

Container Packet # 

Methods

contents :: Packet a -> a #

replace :: Functor f => f b1 -> b -> f b #

emap :: (Container f, Functor f1) => (t -> f1 b) -> f t -> f1 (f b) #

emap2 :: (Functor f2, Container f, Container f1) => (t -> f2 b) -> f1 (f t) -> f2 (f1 (f b)) #

lift :: (Container f1, Functor f) => f1 (f b) -> f (f1 b) #

lift2 :: (Functor f, Container f1, Container f2) => f2 (f1 (f b)) -> f (f2 (f1 b)) #

doReq :: (MVarIO v io, MVarIO v m, ChannelIO c m) => c a -> ((b -> io ()) -> a) -> m b #

foldlArray :: (IArray arr elem, Ix ix, Enum ix) => arr ix elem -> (elem -> a -> a) -> a -> a #

arraySize :: (Ix a1, IArray a e, Num a1) => a a1 e -> a1 #

The number of elements in an array

checksum :: [Word16] -> Word16 #

TCP/IP 16-bit checksums

pairs :: a -> [a] -> [[a]] #

Split a list into subcomponents of length 2. The first argument is what to append in case the list is of odd length.