Endre Sándor Varga
1ec065b0cd
Factored out common manager code and SocketOptions
2013-02-05 11:48:47 +01:00
Endre Sándor Varga
946fb0eec4
Removed WithByteBuffer and friends
2013-02-04 16:24:34 +01:00
Endre Sándor Varga
58ab585844
Various fixes to tests
2013-02-04 11:21:04 +01:00
Endre Sándor Varga
8b4a3b0b92
Another LIMBO commit, but TCP now uses the unified selector
2013-02-01 13:11:17 +01:00
Endre Sándor Varga
ad60b155c6
Temporary LIMBO commit, but UDP now uses the unified selector
2013-02-01 12:38:13 +01:00
Endre Sándor Varga
824158a698
First iteration of Fire-and-Forget style UDP IO
2013-01-31 13:25:40 +01:00
Roland
389768b488
clean up test output and help aggregation to pass on my Mac
2013-01-30 11:28:47 +01:00
Roland
a964843843
move akka-io project into akka-actor’s akka.io package
2013-01-30 09:30:59 +01:00
Roland Kuhn
842ac74056
Merge pull request #1059 from spray/wip-IO-ReduceReceivedMsgs
...
aggregate received data as long as there's data in kernel buffers or 're...
2013-01-28 05:26:03 -08:00
Johannes Rudolph
c8f8b55f01
use config.getBytes where appropriate
2013-01-26 10:55:39 +01:00
Johannes Rudolph
77675383f4
fix: skip selector when read is split up just because of ReceivedMessageSizeLimit
2013-01-26 10:44:44 +01:00
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
Roland Kuhn
16945b743c
Merge pull request #1066 from jrudolph/wip-IO-fix-close-race-condition
...
fix checking for connection close in TcpConnectionSpec
2013-01-25 03:41:29 -08:00
Johannes Rudolph
e994267bf6
fix checking for connection close in TcpConnectionSpec
...
The fix was to only rely on actually selecting not also on checking
key.readyOps since that isn't necessarily reliable without selecting.
2013-01-25 10:06:49 +01:00
Roland Kuhn
93fc9f1d6f
Merge pull request #1030 from spray/wip-IO
...
New IO: first complete implementation
2013-01-23 08:34:11 -08:00
Mathias
5883c40ce8
Add TCP message protocol diagrams
2013-01-23 15:40:07 +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
8282ac9896
Add support for 'unlimited' max-channels
2013-01-23 14:43:07 +01:00
Mathias
385fd322c9
Rename ErrorClose event to ErrorClosed
2013-01-23 11:47:12 +01:00
Mathias
7761b00122
"unseal" Tcp.Event trait
2013-01-23 11:25:19 +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
Mathias
c61414f28f
Fix TcpListener not distributing incoming connections across all selectors
2013-01-22 16:23:11 +01:00
Johannes Rudolph
64d832377b
prevent connection leak when temporaryServerAddress throws
2013-01-22 16:05:03 +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
4e700b661a
Add missing case to CapacityLimitSpec
2013-01-22 14:15:59 +01:00
Mathias
570b02f569
Decrease visibility of internals to private[io], clean up imports
2013-01-22 14:15:51 +01:00
Mathias
79accb810e
Cleanup, small fixes and more and better tests
2013-01-22 13:57:49 +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
a53848edfa
properly cleanup selector in tests
2013-01-22 11:41:40 +01:00
Johannes Rudolph
3687697aed
use proper selection strategy to try to improve test stability
2013-01-22 11:35:15 +01:00
Johannes Rudolph
e853a1d2ae
fix race condition when trying to assert closed channel on the server side
2013-01-21 18:26:56 +01:00
Johannes Rudolph
54c3d77db2
add more integration tests
2013-01-21 17:41:51 +01:00
Johannes Rudolph
6d5458dfeb
further improve pullFromServerSide stability
2013-01-21 17:26:52 +01:00
Johannes Rudolph
3d34f57c5b
improve stability of tests, pullFromServerSide now uses real selector to check for conditions
2013-01-21 17:05:44 +01:00
Johannes Rudolph
b4baf66442
make asserting on received messages more resilient
2013-01-21 16:22:31 +01:00
Johannes Rudolph
91548c7375
Revert "in DirectByteBufferPool keep buffers by soft reference"
2013-01-21 15:52:19 +01:00
Johannes Rudolph
7c1fe80279
remove commented code
2013-01-21 14:55:02 +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
9bcca4003a
in tests make sure to get a server address that is highly probable to be currently unbound
2013-01-17 15:07:00 +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
e11c3fe6bb
fix assertion error typo
2013-01-16 17:08:42 +01:00
Johannes Rudolph
e22c80655d
refactor tests to reuse common connection setup
2013-01-16 17:08:42 +01:00
Mathias
27d111b1f5
tcp selector and listener actors, extension of tcp manager actor, see #2885 and #2887
2013-01-16 15:24:48 +01:00
Johannes Rudolph
be9abae1e3
tcp connection actors, see #2886
2013-01-16 15:11:35 +01:00
drewhk
284e64f7c5
Merge pull request #1017 from drewhk/wip-2887-tcpmanager-drewhk
...
Created top level manager for TCP based IO #2887
2013-01-14 00:35:44 -08:00