Igor Postelnik
bd15c6b8c3
TUN-3208: Reduce copies and allocations on h2mux write path. Pre-allocate 16KB write buffer on the first write if possible. Use explicit byte array for chunks on write thread to avoid copying through intermediate buffer due to io.CopyN.
...
benchmark old ns/op new ns/op delta
BenchmarkSingleStreamLargeResponseBody-8 17786594 12163494 -31.61%
benchmark old allocs new allocs delta
BenchmarkSingleStreamLargeResponseBody-8 17086 15869 -7.12%
benchmark old bytes new bytes delta
BenchmarkSingleStreamLargeResponseBody-8 58215169 21604391 -62.89%
2020-07-29 14:30:12 +00:00
Dalton
046be63253
AUTH-2596 added new logger package and replaced logrus
2020-05-27 17:07:19 -05:00
Igor Postelnik
fbe2989f61
TUN-2955: Fix connection and goroutine leaks when tunnel conection is terminated on error. Only unregister tunnels that had connected successfully. Close edge connection used to unregister the tunnel. Use buffered channels for error channels where receiver may quit early on context cancellation.
2020-05-06 03:13:24 +00:00
Adam Chalmers
269351bbea
TUN-2703: Muxer.Serve terminates when its context is Done
2020-02-20 20:09:10 +00:00
Areg Harutyunyan
d6c2c4ee4a
TUN-2717: Function to serialize/deserialize HTTP headers
2020-02-10 19:18:06 +00:00
Nick Vollmar
b499c0fdba
TUN-2608: h2mux.Muxer.Shutdown always returns a non-nil channel
2019-12-04 17:21:30 +00:00
Nick Vollmar
1d96bccc04
TUN-2178: public API to create new h2mux.MuxedStreamRequest
2019-11-13 14:04:19 -06:00
Chung-Ting Huang
13bf65ce4e
TUN-2506: Expose active streams metrics
2019-11-07 14:09:31 -06:00
Chung-Ting Huang
3a9a0a0d75
TUN-2489: Delete stream from activestreammap when read and write are both closed
2019-11-05 11:06:11 -06:00
Felix Bünemann
1f6a330098
Fix #129 : Excessive memory usage streaming large files ( #142 )
...
This drops the default size auf the h2mux write buffer from 512 MB to 1 MB.
This massively reduces memory usage, since each stream has its own buffer.
2019-10-17 17:15:51 -05:00
Nick Vollmar
b836cb350a
TUN-2162: Decomplect OpenStream to allow finer-grained timeouts
2019-09-05 15:23:41 +00:00
Chung-Ting Huang
d26a8c5d44
TUN-1893: Proxy requests to the origin based on tunnel hostname
2019-06-13 14:46:22 -05:00
Nick Vollmar
6f8708d33c
TUN-1847: Log a distinct message when OpenStream fails while waiting for response headers
2019-05-13 16:46:25 -05:00
Chung-Ting Huang
2bef5dbe72
TUN-1682: Add context to OpenStream to prevent it from blocking indefinitely.
2019-04-11 13:44:42 -05:00
Nick Vollmar
5bf6dd8f85
TUN-1358: Close readyList after Muxer.Serve() has stopped running
2019-01-22 15:54:29 -06:00
Nick Vollmar
f6014cb2b4
TUN-968: Flow control for large requests/responses
2018-10-26 11:16:02 -05:00
Areg Harutyunyan
d06fc520c7
TUN-528: Move cloudflared into a separate repo
2018-07-19 15:02:24 -05:00