Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > fb7b6fc8f70999876180462ef754dc21 > files > 22

haskell-HTTP-2006.7.7-2mdv2007.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Network.TCP</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock.js" TYPE="text/javascript"
></SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>HTTP-2006.7.7: </TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Network.TCP</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (not tested)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>bjorn@bringert.net</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Connections
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>An easy access TCP library. Makes the use of TCP in Haskell much easier.
 This was originally part of Grayss HTTP module.
</P
><UL
><LI
> Changes by Simon Foster:
      - Split module up into to sepearate Network.[Stream,TCP,HTTP] modules
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AConn"
>Conn</A
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AMkConn"
>MkConn</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AconnSock"
>connSock</A
> :: !Socket</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AconnAddr"
>connAddr</A
> :: !SockAddr</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AconnBffr"
>connBffr</A
> :: !String</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AconnHost"
>connHost</A
> :: String</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AConnClosed"
>ConnClosed</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>newtype</SPAN
> <A HREF="#t%3AConnection"
>Connection</A
>  = <A HREF="#v%3AConnRef"
>ConnRef</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AgetRef"
>getRef</A
> :: (IORef <A HREF="Network-TCP.html#t%3AConn"
>Conn</A
>)</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AopenTCP"
>openTCP</A
> :: String -&gt; IO <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AopenTCPPort"
>openTCPPort</A
> :: String -&gt; Int -&gt; IO <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisConnectedTo"
>isConnectedTo</A
> :: <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
> -&gt; String -&gt; IO Bool</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="1"
>Connections
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AConn"
></A
><B
>Conn</B
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
><A HREF="Network-TCP.html#t%3AConn"
>Conn</A
></TT
> object allows input buffering, and maintenance of 
 some admin-type data.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AMkConn"
></A
><B
>MkConn</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AconnSock"
></A
><B
>connSock</B
> :: !Socket</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AconnAddr"
></A
><B
>connAddr</B
> :: !SockAddr</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AconnBffr"
></A
><B
>connBffr</B
> :: !String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AconnHost"
></A
><B
>connHost</B
> :: String</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AConnClosed"
></A
><B
>ConnClosed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Conn')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Conn" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Network-TCP.html#t%3AConn"
>Conn</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>newtype</SPAN
> <A NAME="t%3AConnection"
></A
><B
>Connection</B
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
><A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TT
> newtype is a wrapper that allows us to make
 connections an instance of the StreamIn/Out classes, without ghc extensions.
 While this looks sort of like a generic reference to the transport
 layer it is actually TCP specific, which can be seen in the
 implementation of the 'Stream Connection' instance.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AConnRef"
></A
><B
>ConnRef</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AgetRef"
></A
><B
>getRef</B
> :: (IORef <A HREF="Network-TCP.html#t%3AConn"
>Conn</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Connection')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Connection" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AopenTCP"
></A
><B
>openTCP</B
> :: String -&gt; IO <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TD
></TR
><TR
><TD CLASS="doc"
>Open a connection to port 80 on a remote host.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AopenTCPPort"
></A
><B
>openTCPPort</B
> :: String -&gt; Int -&gt; IO <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>This function establishes a connection to a remote
 host, it uses <A HREF="getHostByName.html"
>getHostByName</A
> which interrogates the
 DNS system, hence may trigger a network connection.
</P
><P
>Add a <A HREF="persistant.html"
>persistant</A
> option?  Current persistant is default.
 Use <A HREF="Result.html"
>Result</A
> type for synchronous exception reporting?
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AisConnectedTo"
></A
><B
>isConnectedTo</B
> :: <A HREF="Network-TCP.html#t%3AConnection"
>Connection</A
> -&gt; String -&gt; IO Bool</TD
></TR
><TR
><TD CLASS="doc"
>Checks both that the underlying Socket is connected
 and that the connection peer matches the given
 host name (which is recorded locally).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 0.8</TD
></TR
></TABLE
></BODY
></HTML
>