úÎ!OKÁ3      !"#$%&'()*+,-./012K(c) 2018-2019, Commonwealth Scientific and Industrial Research OrganisationBSD33dave.laing.80@gmail.com, jack.kelly@data61.csiro.au experimental non-portableNone.7H mreflex-backend-socketIf a "socket setup" fails ( or 0), you'll inspect one of these to find out why.reflex-backend-socketCall to  failed.reflex-backend-socket&We failed to set up a socket with any 3T we were given, and here are the corresponding exceptions each time we tried. For , this means either   or   failed, and for , this means   failed.K(c) 2018-2019, Commonwealth Scientific and Industrial Research OrganisationBSD33dave.laing.80@gmail.com, jack.kelly@data61.csiro.au experimental non-portableNone>Preflex-backend-socketMConnect to a remote endpoint. The connection happens in a background thread.reflex-backend-socketHost to connect to. If 4, connect via loopback.reflex-backend-socket0Service (port number or service name). See the  'https://linux.die.net/man/3/getaddrinfomanpage for getaddrinfo.reflex-backend-socket"This event will fire exactly once.K(c) 2018-2019, Commonwealth Scientific and Industrial Research OrganisationBSD33dave.laing.80@gmail.com, jack.kelly@data61.csiro.au experimental non-portableNone>P_+× reflex-backend-socket!Configuration of a listen socket. reflex-backend-socket,The hostname to bind to. This will often be 4, to bind all interfaces. reflex-backend-socket7The port number or service name to listen on. See the  'https://linux.die.net/man/3/getaddrinfomanpage for getaddrinfo. reflex-backend-socket8The length of the "pending connections" queue. See the  "https://linux.die.net/man/2/listenmanpage for listen.reflex-backend-socket1List of socket options, passed one at a time to 5. Many people will want [(6, 1)] here.reflex-backend-socketPClose the listen socket when this event fires. If you plan to run forever, use 7.reflex-backend-socket+Events produced by a running listen socket.reflex-backend-socket<A new connection was accepted, including its remote address.reflex-backend-socketmThe socket has closed. This will fire exactly once when the socket closes for any reason, including if your I event fires or if the socket closes in response to a caught exception.reflex-backend-socketXAn exception occurred. Treat the socket as closed after you see this. You will see the < event fire as well, but not necessarily in the same frame.reflex-backend-socketHCreate a listening socket. Sockets are accepted in a background thread.reflex-backend-socket"This event will fire exactly once.  )Wrap a TCP socket to communicate through Event t ByteStringK(c) 2018-2019, Commonwealth Scientific and Industrial Research OrganisationBSD33dave.laing.80@gmail.com, jack.kelly@data61.csiro.au experimental non-portableNone>X_kJ©reflex-backend-socketIHolds the socket to wire into the FRP network, and events that drive it. reflex-backend-socketSocket to wrap.!reflex-backend-socket*Maximum number of bytes to read at a time."reflex-backend-socket Data to send out on this socket.#reflex-backend-socketOAsk to close the socket. The socket will stop trying to receive data (and the &N event will stop firing), and the socket will be "drained": future events on "I will be ignored, and it will close after writing all pending data. If " and #K fire in the same frame, the data will nevertheless be queued for sending.$reflex-backend-socket$Events produced by an active socket.&reflex-backend-socketData has arrived.'reflex-backend-socket>The socket has opened, and its receive/send loops are running.(reflex-backend-socketmThe socket has closed. This will fire exactly once when the socket closes for any reason, including if your #e event fires, the other end disconnects, or if the socket closes in response to a caught exception.)reflex-backend-socketpAn exception occurred. Treat the socket as closed after you see this. If the socket was open, you will see the (< event fire as well, but not necessarily in the same frame.8reflex-backend-socketData flows in both directions9reflex-backend-socket^We've been asked to close, but will transmit all pending data first (and not accept any more):reflex-backend-socket(Hard close. Don't transmit pending data.2reflex-backend-socketzWire a socket into the FRP network. You will likely use this to attach events to a socket that you just connected (from 1), or a socket that you just accepted (from the ! event you got when you called ).0  !"#$%&'()*+,-./0122 !"#$%&'()+,-*10./;   !"#$%&&'()*++,-./0123456789:;<=>9?@9?ABCDEFGH4reflex-backend-socket-0.2.0.0-LRHA6j2MFLv6Q9ZfymnBZ6Reflex.Backend.Socket.ErrorReflex.Backend.Socket.ConnectReflex.Backend.Socket.AcceptReflex.Backend.SocketacceptconnectNetwork.Socket getAddrInfobindlistenConnect SetupErrorGetAddrInfoErrorUseAddrInfoError$fEqSetupError$fGenericSetupError$fShowSetupError_GetAddrInfoError_UseAddrInfoError AcceptConfig _acHostname _acService_acListenQueue_acSocketOptions_acCloseAccept_aAcceptSocket_aClose_aErroracClose acHostname acListenQueue acServiceacSocketOptions aAcceptSocketaCloseaError SocketConfig _scInitSocket_scMaxRx_scSend_scCloseSocket _sReceive_sOpen_sClose_sErrorscClose scInitSocketscMaxRxscSendsClosesErrorsOpensReceivesocket&network-3.1.1.0-H5B40XjCjXjHGaYS2H1v9GNetwork.Socket.InfoAddrInfobase GHC.MaybeNothingNetwork.Socket.OptionssetSocketOption ReuseAddr%reflex-0.6.2.4-63J4iwXlz6X1UJugqLxFrh Reflex.ClassneverOpenDrainingClosed