Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > media > contrib-release > by-pkgid > fb7b6fc8f70999876180462ef754dc21 > files > 21

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.Stream</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.Stream</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"
>Streams
</A
></DT
><DT
><A HREF="#2"
>Errors
</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 library for creating abstract streams. 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"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3ADebug"
>Debug</A
> x</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="#t%3AStream"
>Stream</A
> x  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadLine"
>readLine</A
> :: x -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> String)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadBlock"
>readBlock</A
> :: x -&gt; Int -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> String)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteBlock"
>writeBlock</A
> :: x -&gt; String -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> ())</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aclose"
>close</A
> :: x -&gt; IO ()</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdebugStream"
>debugStream</A
> :: <A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> a =&gt; String -&gt; a -&gt; IO (<A HREF="Network-Stream.html#t%3ADebug"
>Debug</A
> a)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AConnError"
>ConnError</A
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AErrorReset"
>ErrorReset</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AErrorClosed"
>ErrorClosed</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AErrorParse"
>ErrorParse</A
> String</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AErrorMisc"
>ErrorMisc</A
> String</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AResult"
>Result</A
> a = Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhandleSocketError"
>handleSocketError</A
> :: Socket -&gt; Exception -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> a)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbindE"
>bindE</A
> :: Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> a -&gt; (a -&gt; Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> b) -&gt; Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amyrecv"
>myrecv</A
> :: Socket -&gt; Int -&gt; IO String</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="1"
>Streams
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3ADebug"
></A
><B
>Debug</B
> x</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Allows stream logging.
 Refer to <TT
><A HREF="Network-Stream.html#v%3AdebugStream"
>debugStream</A
></TT
> below.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Debug')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Debug" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> x =&gt; <A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> (<A HREF="Network-Stream.html#t%3ADebug"
>Debug</A
> x)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A NAME="t%3AStream"
></A
><B
>Stream</B
> x  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Streams should make layering of TLS protocol easier in future,
 they allow reading<EM
>writing to files etc for debugging,
 they allow use of protocols other than TCP</EM
>IP
 and they allow customisation.
</P
><P
>Instances of this class should not trim
 the input in any way, e.g. leave LF on line
 endings etc. Unless that is exactly the behaviour
 you want from your twisted instances ;)
</P
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v%3AreadLine"
></A
><B
>readLine</B
> :: x -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> String)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AreadBlock"
></A
><B
>readBlock</B
> :: x -&gt; Int -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> String)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AwriteBlock"
></A
><B
>writeBlock</B
> :: x -&gt; String -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> ())</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Aclose"
></A
><B
>close</B
> :: x -&gt; IO ()</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Stream')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Stream" 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
><TR
><TD CLASS="decl"
><A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> Socket</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> x =&gt; <A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> (<A HREF="Network-Stream.html#t%3ADebug"
>Debug</A
> x)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AdebugStream"
></A
><B
>debugStream</B
> :: <A HREF="Network-Stream.html#t%3AStream"
>Stream</A
> a =&gt; String -&gt; a -&gt; IO (<A HREF="Network-Stream.html#t%3ADebug"
>Debug</A
> a)</TD
></TR
><TR
><TD CLASS="doc"
>Wraps a stream with logging I/O, the first
 argument is a filename which is opened in AppendMode.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
>Errors
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AConnError"
></A
><B
>ConnError</B
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AErrorReset"
></A
><B
>ErrorReset</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AErrorClosed"
></A
><B
>ErrorClosed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AErrorParse"
></A
><B
>ErrorParse</B
> String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AErrorMisc"
></A
><B
>ErrorMisc</B
> String</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ConnError')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ConnError" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
></TD
></TR
><TR
><TD CLASS="decl"
>Show <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3AResult"
></A
><B
>Result</B
> a = Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>This is the type returned by many exported network functions.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AhandleSocketError"
></A
><B
>handleSocketError</B
> :: Socket -&gt; Exception -&gt; IO (<A HREF="Network-Stream.html#t%3AResult"
>Result</A
> a)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AbindE"
></A
><B
>bindE</B
> :: Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> a -&gt; (a -&gt; Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> b) -&gt; Either <A HREF="Network-Stream.html#t%3AConnError"
>ConnError</A
> b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Amyrecv"
></A
><B
>myrecv</B
> :: Socket -&gt; Int -&gt; IO String</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
>