Commit Graph

631 Commits

Author SHA1 Message Date
Johannes Weiß 16ba307409 integration tests: bind on IPv4 port for hopefully more stable CI 2017-12-15 17:03:29 +00:00
Johannes Weiss fa35c603a0 on Darwin, sendfile might write fully and return EWOULDBLOCK 2017-12-15 16:58:12 +00:00
Johannes Weiß 76d9516c84 don't throw away curl output 2017-12-15 12:46:13 +00:00
Cory Benfield 0fa0224623 Configure this pipeline properly 2017-12-15 12:29:28 +00:00
Norman Maurer 76482816e6 Prefix all ByteBuffer methods with `get` if these allow access to unitialized memory. 2017-12-15 12:24:09 +01:00
Cory Benfield 3614d09a4b Provide a nicer setup helper for HTTP connections 2017-12-13 15:38:40 +00:00
Cory Benfield 4154a3bcbc Don't shut connections aggressively in tests 2017-12-15 10:41:46 +00:00
Norman Maurer 5fd753e1b7 Add documention for FileRegion 2017-12-15 11:06:07 +01:00
Norman Maurer 8efd6438f2 Replace usage or Array with CircularBuffer in EmbeddedEventLoop. 2017-12-14 20:11:58 +00:00
Cory Benfield f3e72c13f3 Add HTTP streaming compressor 2017-12-15 09:50:12 +00:00
Norman Maurer e1efe8786f Declare EmbeddedChannel as public so people can acutally use it 2017-12-15 09:10:26 +00:00
Cory Benfield bcdef57481 Correctly track the writer index 2017-12-15 08:24:38 +00:00
Johannes Weiss 9bfea063a0 ChannelHandlerContext docs 2017-12-13 16:54:53 +00:00
Cory Benfield be3d8d00f8 Correctly decode HTTP HEAD responses 2017-12-13 17:10:44 +00:00
Johannes Weiss 8a1297eff1 Channel docs 2017-12-13 16:07:14 +00:00
Johannes Weiss e60ef7fdc8 trivial: fix unused result warning in tests 2017-12-13 11:50:16 +00:00
Cory Benfield 07f5eb95e2 Enforce promise ordering for zero length writes 2017-12-12 16:38:31 +00:00
Cory Benfield 9b9caa1d20 Don't explode on zero-length writes 2017-12-12 16:04:21 +00:00
Johannes Weiss e4ef4c19f7 fix write spinning (should be max `writeSpinCount` writes) 2017-12-12 14:14:10 +00:00
Johannes Weiss 4e188e74b3 Channel tests: use canary value to make sure we don't write past buffer end for iovecs 2017-12-12 13:26:28 +00:00
Johannes Weiss 59566c6365 Channel writes: Tighter asserts & now 100% test coverage 2017-12-12 12:57:45 +00:00
Johannes Weiss 69c0cd463b fix random typos 2017-12-12 11:37:07 +00:00
Cory Benfield 2373863f54 No fatal error on unexpected non-ciphertext data 2017-12-12 11:31:05 +00:00
Johannes Weiß 25f4e2ceff PriorityQueue: make it work for partial orders 2017-12-12 11:13:33 +00:00
Cory Benfield 584fdb6507 ByteToMessageDecoder must propagate ChannelInactive 2017-12-12 10:49:12 +00:00
Johannes Weiss b203c602a9 Channel writes: more bugs found & fixed 2017-12-12 08:05:57 +00:00
Johannes Weiss 40454741d1 more interesting PriorityQueue test 2017-12-11 14:34:49 +00:00
Cory Benfield ba183774f6 Don't assert clean shutdown 2017-12-11 13:13:15 +00:00
Johannes Weiss 64a1c2feb8 Channel writes: unit tests & lots of fixes 2017-12-11 12:20:46 +00:00
Johannes Weiss 8a4a658bc7 fix large ByteBuffer allocations 2017-12-08 10:37:14 +00:00
Johannes Weiss b579f80efd in failAll we double accounted for outstanding ByteBuffers :( 2017-12-08 09:40:31 +00:00
Johannes Weiss 6383d9a704 don't leak registrations when SelectableEventLoop is closed 2017-12-08 09:37:12 +00:00
Johannes Weiß e1b30f0a3d fix Channel writes 2017-12-05 17:08:42 +00:00
Johannes Weiss 215620d7a6 syscall wrapper: don't do an allocation for every failed syscall 2017-12-07 15:37:12 +00:00
Norman Maurer ba46fc0f46 Add docs for Channel*Invoker 2017-12-06 15:01:18 +01:00
Norman Maurer 5475ba069a Add docs for IO and Selectable and also rename error parameter name to errorCode to ensure we not capture errno by mistake.
Motivation:

Explain here the context, and why you're making that change.
What is the problem you're trying to solve.

Modifications:

Describe the modifications you've done.

Result:

After your change, what will change.
2017-12-05 15:44:50 +01:00
Norman Maurer 56c1478dfb Add docs for SocketAddresses 2017-12-05 14:54:41 +01:00
Norman Maurer 2bfd69b980 Add docs for EventLoop
* Add docs for EventLoop

* Address comments
2017-12-05 13:54:12 +01:00
Johannes Weiss 1234cd0a27 make integration tests more robust: allow up to 2s to bind port 2017-12-04 18:50:35 +00:00
Norman Maurer 7379be49f5 Replace mktemp usage with mkstemp to silence warnings when running tests.
Before this was printed out.

NIOOpenSSLTests/SSLCertificateTest.swift:105: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
2017-12-04 18:48:49 +01:00
Johannes Weiss ff991da658 make the CircularBuffer implementation more straightforward & docs 2017-12-04 16:59:16 +00:00
Norman Maurer 1a9cd14118 More agressively try to increase the number of bytes we read from the Channel per read.
Motiviation:

We used to only allocate one buffer per read loop (by default we use multiple reads per loop) and record for the next loop iteration if we need to allocate a bigger buffer or not. This can lead to very slowely ramping up of number of bytes we read. We should better detect if we should allocate a new buffer because we used all the writable bytes to allow faster ramping up of numbre of bytes to read .

Modification:

- Change RecvByteBufferAllocator.record to return a Bool that wil lsignal if we used all the writable bytes of the last allocation and so may want to try to allocate a bigger buffer again
- Adjust tests.

Result:

Faster adjustment of the ByteBuffer capacity when reading data.
2017-12-04 15:43:13 +01:00
Johannes Weiss 9b593d0f8d ByteBuffer documentation (final part 2) 2017-12-04 11:51:17 +00:00
Cory Benfield 3da9f09d0a Add doc comments for NIOTLS 2017-11-30 12:39:06 +00:00
Johannes Weiss 5eca60e46b make ByteBuffer tests slightly more interesting 2017-12-01 17:39:23 +00:00
Johannes Weiß e1f1cd6d4d ByteBuffer docs, part 1 2017-11-30 16:42:58 +00:00
Johannes Weiss 37daab6b50 integration test for blacklisted errnos 2017-12-01 14:58:04 +00:00
Johannes Weiss 98017432b8 dont require Foundation for IOError description creation 2017-12-01 14:31:37 +00:00
Cory Benfield d61e084d3c Doc comments for NIOHTTP1 2017-11-30 16:07:41 +00:00
Johannes Weiss 557f8940f7 IOData docs 2017-11-30 17:49:28 +00:00