akka.actor
Class IO

java.lang.Object
  extended by akka.actor.IO

public class IO
extends java.lang.Object

IO messages and iteratees.

This is still in an experimental state and is subject to change until it has received more real world testing.


Nested Class Summary
static class IO.Accept
          Message to an IOManager to accept a new connection with the given IO.SocketOptions.
static class IO.Accept$
           
static class IO.Backlog
          IO.ServerSocketOption to set the maximum backlog of connections.
static class IO.Backlog$
           
static class IO.Chunk
          Part of an IO.Input stream that contains a chunk of bytes.
static class IO.Chunk$
           
static class IO.Close
          Message to an IOManager to close the Channel.
static class IO.Close$
           
static class IO.Closed
          Message from an IOManager that the Channel has closed.
static class IO.Closed$
           
static class IO.Connect
          Message to an IOManager to create a SocketChannel connected to the provided address with the given IO.SocketOptions.
static class IO.Connect$
           
static class IO.Connected
          Message from an IOManager that the SocketChannel has successfully connected.
static class IO.Connected$
           
static class IO.DivergentIterateeException
           
static class IO.Done<A>
          An Iteratee representing a result, usually returned by the successful completion of an Iteratee.
static class IO.Done$
           
static class IO.EOF$
          Part of an IO.Input stream that represents the end of the stream.
static class IO.Error
          Part of an IO.Input stream that represents an error in the stream.
static class IO.Error$
           
static class IO.Failure
          An IO.Iteratee that represents an erronous end state.
static class IO.Failure$
           
static interface IO.Handle
          An immutable handle to a Java NIO Channel.
static interface IO.Input
          Represents part of a stream of bytes that can be processed by an IO.Iteratee.
static interface IO.IOMessage
          Messages used to communicate with an IOManager.
static class IO.Iteratee<A>
          A basic Iteratee implementation of Oleg's Iteratee (http://okmij.org/ftp/Streams.html).
static class IO.Iteratee$
           
static interface IO.IterateeRef<A>
          A mutable reference to an Iteratee designed for use within an Actor.
static class IO.IterateeRef$
           
static class IO.IterateeRefAsync<A>
          A mutable reference to an IO.Iteratee.
static class IO.IterateeRefSync<A>
          A mutable reference to an IO.Iteratee.
static class IO.KeepAlive
          IO.SocketOption to enable or disable SO_KEEPALIVE
static class IO.KeepAlive$
           
static class IO.Listen
          Message to an IOManager to create a ServerSocketChannel listening on the provided address with the given IO.ServerSocketOptions.
static class IO.Listen$
           
static class IO.Listening
          Message from an IOManager that the ServerSocketChannel is now listening for connections.
static class IO.Listening$
           
static class IO.NewClient
          Message from an IOManager that a new connection has been made to the ServerSocketChannel and needs to be accepted.
static class IO.NewClient$
           
static class IO.Next<A>
          An IO.Iteratee that still requires more input to calculate it's result.
static class IO.Next$
           
static class IO.OOBInline
          IO.SocketOption to enable or disable OOBINLINE (receipt of TCP urgent data) By default, this option is disabled and TCP urgent data received on a IO.SocketHandle is silently discarded.
static class IO.OOBInline$
           
static class IO.PerformancePreferences
          IO.SocketOption to set performance preferences for this IO.SocketHandle.
static class IO.PerformancePreferences$
           
static class IO.Read
          Message from an IOManager that contains bytes read from the SocketChannel.
static class IO.Read$
           
static interface IO.ReadHandle
          A IO.Handle to a ReadableByteChannel.
static class IO.ReceiveBufferSize
          IO.SocketOption to set the SO_RCVBUF option for this IO.SocketHandle.
static class IO.ReceiveBufferSize$
           
static class IO.ReuseAddress
          IO.SocketOption to enable or disable SO_REUSEADDR
static class IO.ReuseAddress$
           
static class IO.SendBufferSize
          IO.SocketOption to set the SO_SNDBUF option for this IO.SocketHandle.
static class IO.SendBufferSize$
           
static class IO.ServerHandle
          A IO.Handle to a ServerSocketChannel.
static class IO.ServerHandle$
           
static interface IO.ServerSocketOption
          Options to be set when setting up a IO.ServerHandle
static class IO.SocketHandle
          A IO.Handle to a SocketChannel.
static class IO.SocketHandle$
           
static interface IO.SocketOption
          Options to be set when setting up a IO.SocketHandle
static class IO.SoLinger
          IO.SocketOption to enable or disable SO_LINGER with the specified linger time in seconds.
static class IO.SoLinger$
           
static class IO.SoTimeout
          IO.SocketOption to set SO_TIMEOUT to the specified timeout rounded down to the nearest millisecond.
static class IO.SoTimeout$
           
static class IO.TcpNoDelay
          IO.SocketOption to enable or disable TCP_NODELAY (disable or enable Nagle's algorithm)
static class IO.TcpNoDelay$
           
static class IO.TrafficClass
          IO.SocketOption to set the traffic class or type-of-service octet in the IP header for packets sent from this IO.SocketHandle.
static class IO.TrafficClass$
           
static class IO.Write
          Message to an IOManager to write to the SocketChannel.
static class IO.Write$
           
static interface IO.WriteHandle
          A IO.Handle to a WritableByteChannel.
 
Constructor Summary
IO()
           
 
Method Summary
static IO.Iteratee<scala.runtime.BoxedUnit> drop(int length)
          An Iteratee that ignores the specified number of bytes.
static
<A,B,M extends scala.collection.Traversable<java.lang.Object>>
IO.Iteratee<B>
fold(B initial, M in, scala.Function2<B,A,IO.Iteratee<B>> f)
          An Iteratee that folds over a Traversable by applying a function that returns an Iteratee.
static IO.Iteratee<ByteString> peek(int length)
          An Iteratee that returns a ByteString of the request length, but does not consume the Input.
static
<T> IO.Iteratee<T>
repeat(IO.Iteratee<T> iter)
          An Iteratee that continually repeats an Iteratee.
static IO.Iteratee<ByteString> take(int length)
          An Iteratee that returns a ByteString of the requested length.
static IO.Iteratee<ByteString> takeAll()
          An Iteratee that returns the remaining ByteString until an EOF is given.
static IO.Iteratee<ByteString> takeAny()
          An Iteratee that returns any input it receives
static
<A> IO.Iteratee<scala.collection.immutable.List<A>>
takeList(int length, IO.Iteratee<A> iter)
          An Iteratee that creates a list made up of the results of an Iteratee.
static IO.Iteratee<ByteString> takeUntil(ByteString delimiter, boolean inclusive)
          An Iteratee that returns the ByteString prefix up until the supplied delimiter.
static IO.Iteratee<ByteString> takeWhile(scala.Function1<java.lang.Object,java.lang.Object> p)
          An Iteratee that will collect bytes as long as a predicate is true.
static
<A,B,M extends scala.collection.Traversable<java.lang.Object>>
IO.Iteratee<M>
traverse(M in, scala.Function1<A,IO.Iteratee<B>> f, scala.collection.generic.CanBuildFrom<M,B,M> cbf)
          An Iteratee that applies an Iteratee to each element of a Traversable and finally returning a single Iteratee containing a Traversable of the results.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IO

public IO()
Method Detail

takeUntil

public static IO.Iteratee<ByteString> takeUntil(ByteString delimiter,
                                                boolean inclusive)
An Iteratee that returns the ByteString prefix up until the supplied delimiter. The delimiter is dropped by default, but it can be returned with the result by setting 'inclusive' to be 'true'.


takeWhile

public static IO.Iteratee<ByteString> takeWhile(scala.Function1<java.lang.Object,java.lang.Object> p)
An Iteratee that will collect bytes as long as a predicate is true.


take

public static IO.Iteratee<ByteString> take(int length)
An Iteratee that returns a ByteString of the requested length.


drop

public static IO.Iteratee<scala.runtime.BoxedUnit> drop(int length)
An Iteratee that ignores the specified number of bytes.


takeAll

public static IO.Iteratee<ByteString> takeAll()
An Iteratee that returns the remaining ByteString until an EOF is given.


takeAny

public static IO.Iteratee<ByteString> takeAny()
An Iteratee that returns any input it receives


takeList

public static <A> IO.Iteratee<scala.collection.immutable.List<A>> takeList(int length,
                                                                           IO.Iteratee<A> iter)
An Iteratee that creates a list made up of the results of an Iteratee.


peek

public static IO.Iteratee<ByteString> peek(int length)
An Iteratee that returns a ByteString of the request length, but does not consume the Input.


repeat

public static <T> IO.Iteratee<T> repeat(IO.Iteratee<T> iter)
An Iteratee that continually repeats an Iteratee.


traverse

public static <A,B,M extends scala.collection.Traversable<java.lang.Object>> IO.Iteratee<M> traverse(M in,
                                                                                                     scala.Function1<A,IO.Iteratee<B>> f,
                                                                                                     scala.collection.generic.CanBuildFrom<M,B,M> cbf)
An Iteratee that applies an Iteratee to each element of a Traversable and finally returning a single Iteratee containing a Traversable of the results.


fold

public static <A,B,M extends scala.collection.Traversable<java.lang.Object>> IO.Iteratee<B> fold(B initial,
                                                                                                 M in,
                                                                                                 scala.Function2<B,A,IO.Iteratee<B>> f)
An Iteratee that folds over a Traversable by applying a function that returns an Iteratee.