| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Description | |||||||||||||||||||||||||
| Synopsis | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Socket Handlers | |||||||||||||||||||||||||
| type SocketHandler = (Socket, SockAddr) -> IO () | |||||||||||||||||||||||||
| listener :: PortID -> SocketHandler -> IO () | |||||||||||||||||||||||||
| Creates a listening socket for the given port, then calls acceptor to start the given computation for every incoming connection. | |||||||||||||||||||||||||
| acceptor :: SocketHandler -> Socket -> IO () | |||||||||||||||||||||||||
| Given a listening socket, this function will loop forever accepting incoming connections. For each connection a SocketHandler thread is forked. | |||||||||||||||||||||||||
| type LazyHandler = (Handle, Maybe SockAddr) -> IO () | |||||||||||||||||||||||||
| handleLazy :: IOMode -> LazyHandler -> SocketHandler | |||||||||||||||||||||||||
| Non-blocking I/O | |||||||||||||||||||||||||
| data WriteTimeout | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| setReadTimeout :: Timeout -> Smtpd () | |||||||||||||||||||||||||
| getReadTimeout :: Smtpd Timeout | |||||||||||||||||||||||||
| setWriteTimeout :: Timeout -> Smtpd () | |||||||||||||||||||||||||
| getWriteTimeout :: Smtpd Timeout | |||||||||||||||||||||||||
| safeWrite :: IO a -> Smtpd a | |||||||||||||||||||||||||
| safeReply :: WriteHandle -> SmtpReply -> Smtpd () | |||||||||||||||||||||||||
| safeFlush :: WriteHandle -> Smtpd () | |||||||||||||||||||||||||
| Produced by Haddock version 2.1.0 |