Commit graph

15 commits

Author SHA1 Message Date
Johannes Rudolph
f6fb147afc aggregate received data as long as there's data in kernel buffers or 'received-message-size-limit' is reached, see #2886 2013-01-26 10:29:28 +01:00
Johannes Rudolph
3e78247cc8 when the connection is established optimistically try reading before registering ReadInterest 2013-01-23 15:28:14 +01:00
Mathias
f138dbd6b4 Add missing copyright header, smaller cleanups 2013-01-23 15:19:03 +01:00
Mathias
385fd322c9 Rename ErrorClose event to ErrorClosed 2013-01-23 11:47:12 +01:00
Johannes Rudolph
0a7c793316 fix: make sure buffer is released in any case, also after not acked writes and when killed 2013-01-22 17:32:46 +01:00
Johannes Rudolph
fccf596649 Revert "Change socket options type from immutable.Traversable to Traversable"
This reverts commit ba922fa2d7.

Conflicts:
	akka-io/src/main/scala/akka/io/Tcp.scala
	akka-io/src/main/scala/akka/io/TcpIncomingConnection.scala
	akka-io/src/main/scala/akka/io/TcpListener.scala
	akka-io/src/main/scala/akka/io/TcpOutgoingConnection.scala
2013-01-22 16:03:22 +01:00
Johannes Rudolph
c6265843b3 remove explicit selector field in TcpConnection + TcpListener 2013-01-22 15:57:44 +01:00
Mathias
570b02f569 Decrease visibility of internals to private[io], clean up imports 2013-01-22 14:15:51 +01:00
Mathias
ba922fa2d7 Change socket options type from immutable.Traversable to Traversable
The problem with `immutable.Traversable` is that it doesn't allow the use of `Seq.apply` for socket options, since `Seq` is aliased to `scala.collection.Seq` and not `scala.collection.immutable.Seq` in `package object scala`. Even though technically nicer `immutable.Traversable` therefore hinders usability of the API, for a benefit that we don't consider worth the cost.

Conflicts:
	akka-io/src/main/scala/akka/io/TcpConnection.scala
2013-01-22 12:52:34 +01:00
Johannes Rudolph
9c9508d76f improve DirectByteBufferPool and some smaller fixes
* dispatch Closed events to the sender of the close command as well
 * DirectByteBufferPool changes:

     * hide behind BufferPool interface
     * only return buffers of the configured size
     * reduce work to be done while locked
     * use Array-based stack to store free buffers instead of linked lists
     * keep buffers by soft reference
2013-01-21 14:45:19 +01:00
Mathias
2f54a5b4d2 more tests, smaller improvements 2013-01-18 13:20:17 +01:00
Mathias
7384e07d9b improvements from the first round of feedback, see #2885 and #2887 2013-01-17 17:31:08 +01:00
Johannes Rudolph
7d89aefb63 use a direct buffer pool for buffers needed for channel.read/write
The major advantage of this approach is that a Write is only copied once
into its direct buffer and this direct buffer is kept until it is written
fully.
2013-01-17 14:46:21 +01:00
Johannes Rudolph
18aecef4bd fix issues discussed in the pull request 2013-01-17 14:45:50 +01:00
Johannes Rudolph
be9abae1e3 tcp connection actors, see #2886 2013-01-16 15:11:35 +01:00