Commit Graph

36 Commits

Author SHA1 Message Date
Kazushi Kitaya 8713335f54 Fix data race in fasthttputil.pipeConn (#645)
* add tests for fasthttputil.InmemoryListener
* fix data race in pipeConn
* update use of readDeadlineChLock
2019-09-04 17:57:51 +02:00
Erik Dubbelboer aaec9b0fe2 Make InmemoryListener.Dial return when the connection is accepted
This makes InmemoryListener deterministic which makes our tests much
less flacky under high load or when GOMAXPROCS=1
2019-02-02 23:40:05 +01:00
Erik Dubbelboer 2cc8e6be6d go fmt ./... 2018-08-29 20:26:12 +08:00
xPushkin f24d00fcc6 A lot of typo fixes 2017-10-08 13:30:35 +01:00
Aliaksandr Valialkin 8b2cc86299 fasthttputil: added TLS benchmarks for ECDSA certificates
Handshakes with ECDSA certificates are optimized much better
comparing to RSA certificates - see https://github.com/golang/go/issues/20058 .
2017-04-24 14:16:32 +03:00
Aliaksandr Valialkin 8d2055d00a fasthttputil: added TLS benchmarks for handshakes with elliptic curves 2017-04-20 19:05:57 +03:00
Aliaksandr Valialkin 2c5a87147a fasthttputil: added BenchmarkTLSHandshakeWithoutClientSessionCache 2017-04-20 12:31:46 +03:00
Aliaksandr Valialkin 31a397777b fasthttputil.PipeConns: add read/write deadline support 2016-09-26 18:09:21 +03:00
Aliaksandr Valialkin c665919a09 Fixed a race when reading data from pipe. This fixes flacky tests involving fasthttputil.PipeConns: TestResponseGzipStream and TestWorkerPoolMaxWorkersCountSerial 2016-08-17 17:42:10 +03:00
Aliaksandr Valialkin 80af8b2b97 Simplified PipeConns - now they properly handle the case when reader side is closed 2016-06-10 19:56:11 +03:00
Aliaksandr Valialkin 7c6a3278ad Improved testPipeConnsCloseWhileReadWrite 2016-06-10 18:24:42 +03:00
Aliaksandr Valialkin 312f9e5633 move inmemory_listener_timing_test to *_test package, so it could import fasthttp without cycle 2016-06-10 17:48:06 +03:00
Aliaksandr Valialkin 2a92d3c96e Reduced concurrency and increased wait time in TestPipeConnsCloseWhileReadWriteConcurrent, so it may pass on slow CPUs and/or with -race flag 2016-03-01 13:57:24 +02:00
Aliaksandr Valialkin 1e8901b798 fasthttputil: added concurrent test for closing PipeConns while reading/writing from it 2016-03-01 13:53:57 +02:00
Aliaksandr Valialkin 69793f7224 Fixed data races in PipeConns 2016-03-01 02:03:26 +02:00
Aliaksandr Valialkin f340a2920f Moved expvarhandler from fasthttputil to fasthttp root 2016-02-05 18:13:16 +02:00
Aliaksandr Valialkin 8ccfb7fc1c Added docs to expvar 2016-02-05 18:10:23 +02:00
Aliaksandr Valialkin 5dcb652364 Moved ExpvarHandler to a dedicated package in order to break import cycle 2016-02-05 18:06:54 +02:00
Aliaksandr Valialkin ec922ac0b8 typo fix 2016-02-05 17:46:49 +02:00
Aliaksandr Valialkin a66138e80f added ability to filter ExpvarHandler output with regexp 2016-02-05 17:39:32 +02:00
Aliaksandr Valialkin e05941507f fasthttputil: added ExpvarHandler for serving variables exported via standard expvar package 2016-02-05 16:42:35 +02:00
Aliaksandr Valialkin 6723a2a0fc fasthttputil: renamed files: pipe -> pipeconns 2016-02-05 16:41:32 +02:00
Aliaksandr Valialkin 8c32cc0674 Fixed golint warnings 2016-02-05 13:53:53 +02:00
Aliaksandr Valialkin 08aecdd0f4 fasthttputil: pre-allocate memory in newly created byteBuffer 2016-02-04 19:48:52 +02:00
Aliaksandr Valialkin 26f2cab187 fasthttputil: pipe errors cleanup 2016-02-04 19:42:42 +02:00
Aliaksandr Valialkin 55b89a9a6a fasthttputil: properly release pipeChan 2016-02-04 18:56:58 +02:00
Aliaksandr Valialkin a9dcd0efd0 fasthttputil: added pipe tests 2016-02-04 16:29:26 +02:00
Aliaksandr Valialkin 7e6d951c69 fasthttputil: export PipeConns 2016-02-04 16:00:58 +02:00
Aliaksandr Valialkin 61b0c5e95f InmemoryListener: added timing tests 2016-02-04 15:24:15 +02:00
Aliaksandr Valialkin c86cfcea15 InmemoryListener: fixed races in pipe implementation 2016-02-04 15:22:44 +02:00
Aliaksandr Valialkin 8f1c8f7bbe InmemoryListener: re-use byteBuffer channels 2016-02-04 14:30:09 +02:00
Aliaksandr Valialkin 484b819453 InmemoryListener: free remaining byte buffers after closing 2016-02-03 19:27:12 +02:00
Aliaksandr Valialkin 271c9c34c3 InmemoryListener: close only write end of the connection 2016-02-03 19:10:24 +02:00
Aliaksandr Valialkin a8d8ecce47 InmemoryListener: allow multiple Write() calls without Read() calls 2016-02-03 19:03:42 +02:00
Aliaksandr Valialkin 548a76235d Removed accidentally copy-n-pasted misleading documentation line from InmemoryListener.Close. Thanks to @Annonomus-Penguin for catching this. 2016-01-17 01:01:35 +02:00
Aliaksandr Valialkin bdd5902714 Issue #36: added InmemoryListener, which may be used for writing client<->server tests and fast in-process client<->server communication 2016-01-11 15:35:45 +02:00