Niklas Keller
1b84c81bb2
Add line delimited JSON parser ( #65 )
2019-08-22 23:36:28 +02:00
Niklas Keller
38d13dbb5c
Add LineReader ( #64 )
2019-08-22 22:37:48 +02:00
Niklas Keller
5d602c5c7a
Delete Gemfile.lock to prevent useless GitHub security notices
2019-08-22 20:30:00 +02:00
Aaron Piotrowski
47908f8e8b
Return Failure instead of throwing
...
Closure should fail returned promise, not throw directly from method call.
2019-07-26 16:22:49 -05:00
Niklas Keller
22113f2f14
Delete Makefile
2019-06-03 23:54:51 +02:00
Niklas Keller
6ee7b6b37c
Update LICENSE date
2019-06-03 23:54:24 +02:00
Niklas Keller
c75af3778b
Fix ResourceOutputStream closed detection ( #60 )
...
The previous mechanism with feof doesn't work for systemd launched processes.
Fixes #58 .
2019-06-03 23:45:17 +02:00
Niklas Keller
24484fa356
Move testClosedRemoteSocketWithFork to ResourceInputStreamTest
...
Whether writing to the socket fails is implementation defined, see https://stackoverflow.com/a/4022160/2373138 .
Shutting down the read side of the socket generally doesn't have any effect on the peer, seems like this is due to the local host implementation on Linux.
2019-06-03 23:24:59 +02:00
Niklas Keller
33daa23ab1
Add 'b' flag to web SAPI streams
2019-06-03 23:05:11 +02:00
d8cc314d62
Add web SAPI input/output stream getter functions ( #61 )
2019-06-03 23:01:43 +02:00
Gabriel Ostrolucký
d5cd42a765
Add chunksize setter to Resource*Stream classes ( #55 )
...
Fixes #50 .
2019-03-31 16:51:36 +02:00
Niklas Keller
2120bdd46b
Revert "Throw new exception carrying $chunk when fwrite returns 0"
...
This reverts commit eb4d03504d
.
The previous commit was incomplete and needs additional work.
2019-03-11 20:12:45 +01:00
Bob Weinand
0652524782
Merge pull request #52 from ostrolucky/chunk-exception
...
Throw new exception carrying $chunk when fwrite returns 0
2019-03-11 12:59:50 +01:00
Gabriel Ostrolucký
eb4d03504d
Throw new exception carrying $chunk when fwrite returns 0
2019-03-05 00:11:39 +01:00
Niklas Keller
6bbfcb6f47
Add docs/asset to export-ignore
2018-12-27 19:08:06 +01:00
Niklas Keller
aa2ebfe17b
Update dependency lock file
2018-12-25 13:42:01 +01:00
Niklas Keller
1de2fd1a17
Test on PHP 7.3
2018-12-25 13:18:57 +01:00
Niklas Keller
56f719633f
Fix code style
2018-12-25 13:18:26 +01:00
Niklas Keller
3a4e493d39
Change #47 test case
2018-12-25 13:13:28 +01:00
Niklas Keller
91d0d18b60
Change #47 test case
2018-12-25 13:04:03 +01:00
Niklas Keller
23d720fbb1
Add test case for #47
2018-12-25 12:59:12 +01:00
Niklas Keller
37b9ab16bb
Solve performance issues with very large chunks
...
Very large chunks need to be copied every time there's a partial write, which is pretty problematic. Instead of doing an almost full copy of the full chunk every time, this patch splits very large chunks into multiple smaller chunks automatically.
Fixes #41 .
2018-10-22 14:37:37 -05:00
Aaron Piotrowski
2dda482685
Add getStd*() functions
2018-10-22 20:36:00 +02:00
Niklas Keller
17fae3bcec
Fix code style
2018-10-03 17:37:23 +02:00
Niklas Keller
0b282a7321
Add infection and tests
2018-09-23 21:30:08 +02:00
Niklas Keller
f31f990b80
Fix Travis config
2018-09-22 16:04:00 +02:00
Niklas Keller
d161589772
Apply PSR-2
2018-09-22 16:04:00 +02:00
Niklas Keller
73257690b0
Fix import order
2018-09-22 16:04:00 +02:00
Niklas Keller
a4cf31f089
Add buffer test
2018-09-22 16:04:00 +02:00
Niklas Keller
75aa20de7c
Add buffer function
...
This simplifies buffering streams by not having to construct a Message / Payload object.
2018-09-22 16:04:00 +02:00
Niklas Keller
bd2de267cc
Update shared documentation files
...
This is an automated commit. Please report any issues to https://github.com/amphp/website-tools .
2018-05-16 16:15:55 +02:00
Aaron Piotrowski
24b2530ec7
Remove exception overwrite
...
Copy/paste oversight.
2018-04-05 09:44:39 -05:00
Niklas Keller
1b75b122e6
Fix ZlibInputStreamTest::testRead() for Windows
2018-04-04 07:33:09 +02:00
Aaron Piotrowski
da357d1579
Proper fix for remote closed streams
...
Fixes #40 . Streams on MacOS (and possibly FreeBSD) that are closed by the remote still allow writing, returning a non-zero from fwrite(). EOF then is false, since data was written to the buffer. EOF needed to be checked before calling fwrite().
2018-04-03 19:08:18 -05:00
Niklas Keller
5403767515
Use xdebug instead of phpdbg for coverage
...
PHPDBG segfaults currently.
2018-04-03 22:15:31 +02:00
Niklas Keller
1184827fd8
Revert "Update test"
...
This reverts commit 5ba0469d7a
.
The test should verify that the socket is detected as closed even if the
work is still alive and has an open FD.
2018-04-03 22:12:42 +02:00
Aaron Piotrowski
5ba0469d7a
Update test
2018-04-03 12:23:39 -05:00
Aaron Piotrowski
33a74dfecd
Fix closed streams that continually report as writable
2018-04-03 11:57:25 -05:00
Niklas Keller
43a93e6240
Add closed stream test with leaked FDs
2018-04-03 18:30:21 +02:00
Niklas Keller
56e814943a
Add tests for dead socket detection
...
Relates to #40 .
2018-04-03 18:20:40 +02:00
Aaron Piotrowski
6d6c89f58c
Update docs nav
2018-03-13 10:32:38 -05:00
Aaron Piotrowski
bfa012e810
Add Payload docs
2018-03-13 10:26:29 -05:00
Aaron Piotrowski
6bd0be750d
Add Payload
...
Similar to Message, but does not implement Promise to avoid all the issues that are associated with that.
2018-03-13 09:53:18 -05:00
Niklas Keller
9f60974881
Fix resource input streams
...
The read watcher needs to be disabled now, because immediate reads will process the next immediate read now in the next tick.
Fixes #38 .
2018-03-11 10:19:43 +01:00
Aaron Piotrowski
ca9128aead
Merge pull request #37 from amphp/fix-immediate
...
Defer immediate reads
2018-03-09 10:44:35 -06:00
Niklas Keller
062f16d0c5
Defer immediate reads
...
Immediate reads have been introduced to support in-memory streams and STDIN on Windows, but this causes problems during piping of streams that always have data available, because it blocks everything else. This is resolved by deferring the promise resolution to the next tick.
2018-03-09 17:40:36 +01:00
Niklas Keller
a4739c8a6d
Attempt direct read on ResourceInputStream::read()
...
This change should resolve the low performance on Windows' STDIN. STDIN
on Windows is a file handle and Windows has specialized support built
into it's stream_select implementation, but a stream_select with a file
handle takes 100ms, which results in slow performance if we read in
smaller chunks and always have to wait 100ms between these.
Fixes amphp/socket#52 .
2018-03-08 11:38:16 +01:00
Aaron Piotrowski
11da27c603
Only throw if resource closed or at eof
2018-02-09 00:47:09 -06:00
Niklas Keller
561c364128
Upgrade documentation dependencies
...
This fixes the GitHub security warning.
2018-02-07 13:52:39 +01:00
Niklas Keller
2cb8005742
Throw correct exception in ResourceOutputStream after close
...
Fixes #35 .
2018-02-07 13:49:07 +01:00