Soheil Hassas Yeganeh and GitHub
7e08502c7a
Merge pull request #51 from peter-edge/increase-test-timeout
...
Increase test timeout from 100ms to 500ms
2017-08-14 16:05:13 -04:00
Soheil Hassas Yeganeh and GitHub
34a8ab6cda
Merge pull request #49 from tmm1/tls-matcher
...
Add TLS matcher
2017-07-20 14:14:27 -04:00
Soheil Hassas Yeganeh and GitHub
f671b41193
Merge pull request #47 from yaojingguo/issue-46
...
doc: fix a typo
2017-05-22 08:43:13 -04:00
Soheil Hassas Yeganeh and GitHub
0068a46c9c
Merge pull request #45 from soheilhy/fix-44
...
Eliminate blocking reads in the HTTP2 matcher.
2017-04-24 21:57:51 -04:00
Soheil Hassas Yeganeh and GitHub
b6ec57c1a4
Merge pull request #43 from soheilhy/dev/go18
...
Fix tests for Go 1.8+
2017-03-13 10:17:15 -04:00
Soheil Hassas Yeganeh and GitHub
bf4a8ede9e
Merge pull request #36 from soheilhy/dev/fix-mem-grow
...
Fix memory growth
2016-09-25 21:07:37 -04:00
Soheil Hassas Yeganeh
f661dcfb59
Reset the sniffing buffer when not needed
...
The sniffing buffer will live as long as the connection is open,
and we should reset it as soon as the application has read all the
sniffed data.
2016-09-25 20:56:09 -04:00
Soheil Hassas Yeganeh
526b64db7a
update the list of contributors.
2016-09-25 01:03:35 -04:00
Soheil Hassas Yeganeh
3ac8d3a667
Fix lint errors in cmux_test.go
2016-09-25 00:58:27 -04:00
Soheil Hassas Yeganeh
861c99e0fc
Return not-match on different field values in HTTP2
...
Retun as soon as we have the matched field in the HTTP2 matcher
regardless of weather the value is matched or not. Fixes #35 .
Issue #35 reports that cmux leaks memory when the client is HTTP2
but does not sends the expected header field. For example, when
the non-gRPC client sends a large field in the header and we are
matching for gRPC, we waste a lot of memory in the sniff buffer.
2016-09-25 00:58:17 -04:00
Soheil Hassas Yeganeh and GitHub
13f520d62c
Merge pull request #34 from ekle/master
...
SetReadDeadline for Matching
2016-09-05 16:05:55 -04:00
Soheil Hassas Yeganeh and GitHub
b26951527b
Merge pull request #33 from soheilhy/fix-b32
...
Fix index out of range in patricia tree
2016-07-15 11:38:34 -07:00
Soheil Hassas Yeganeh and GitHub
e85da3027e
Merge pull request #30 from soheilhy/fix-patricia-tree
...
Fix race in patricia tree
2016-07-15 08:04:18 -07:00
Soheil Hassas Yeganeh
9d1e2a64dd
Merge pull request #25 from soheilhy/devel-optimize-patricia
...
Optimize Patricia tree
2016-05-03 22:33:52 -04:00
Soheil Hassas Yeganeh
9297b6de56
Merge pull request #24 from soheilhy/fix-java-client
...
Fix java gRPC client
2016-04-24 14:53:47 -04:00
Soheil Hassas Yeganeh
255149b822
Merge pull request #23 from soheilhy/bytes-buffer
...
Replace TeeReader with a bytes buffer
2016-04-24 14:38:36 -04:00
Soheil Hassas Yeganeh
7ec7ce7ad1
Merge pull request #21 from soheilhy/devel
...
Use the readable indentation for error flow
2016-02-27 18:16:04 -05:00
Soheil Hassas Yeganeh
d710784914
Merge pull request #20 from tamird/fix-read-again
...
(*MuxConn).Read: fix erroneous io.EOF return
2016-02-25 23:16:54 -05:00
Soheil Hassas Yeganeh
d8cc6481fa
Merge pull request #18 from tamird/vet-shadow
...
`go tool vet --shadow .`
2016-02-25 12:04:36 -05:00
Soheil Hassas Yeganeh
23074f6929
Merge pull request #17 from tamird/fix-write
...
buffer: do not retain passed-in memory
2016-02-25 12:03:57 -05:00
Soheil Hassas Yeganeh
1a2fcbde3a
Merge pull request #16 from soheilhy/devel
...
Close the connections buffered for the listeners
2016-02-23 23:05:27 -05:00
Soheil Hassas Yeganeh
2625710699
Merge pull request #13 from tamird/fix-http2
...
http2: use io.ReadFull
2016-02-23 11:27:28 -05:00
Soheil Hassas Yeganeh
99ee7b080d
Merge pull request #12 from tamird/fix-read
...
Reduce the number of calls needed to (*MuxConn).Read
2016-02-23 11:20:36 -05:00
Soheil Hassas Yeganeh
d5b9190ea9
Merge pull request #11 from tamird/fix-close
...
Tweak shutdown behaviour
2016-02-23 11:20:27 -05:00
Soheil Hassas Yeganeh
95fd8b5c56
Merge pull request #10 from tamird/cleanup-error-handler
...
TestErrorHandler: assert that the error handler runs
2016-02-22 22:47:19 -05:00
Soheil Hassas Yeganeh
4796322bac
Merge pull request #8 from tamird/fix-leaks
...
fix test-only goroutine leaks
2016-02-22 22:25:32 -05:00
Soheil Hassas Yeganeh
fd2424be4b
Merge pull request #9 from tamird/DRY
...
Refactor redundant code.
2016-02-22 22:02:58 -05:00
Soheil Hassas Yeganeh
dcd94116ef
Merge pull request #7 from tamird/vet
...
Add `go vet` to Travis CI
2016-02-22 21:43:55 -05:00
Soheil Hassas Yeganeh
345ba38c5f
Merge pull request #6 from emosbaugh/flag_parse_in_library
...
rely on project to call flag.Parse rather than when used as library
2016-02-20 13:50:53 -05:00
Soheil Hassas Yeganeh
89dd8ce1fd
Return an error in Accept() when root is closed.
...
As reported in #4 , when the root listener is closed, calling Accept
on mux'd listeners would block forever, instead of returning an error.
This is because of a bug introduced in b90740d .
This commit fixes #4 by selecting on both donec and connc of muxed
listeners.
Added a test case to guard against this issue.
2015-12-19 22:28:37 -05:00
Soheil Hassas Yeganeh
44439c27f0
Merge pull request #2 from tamird/update-readme-reasons
...
README: clarify why TLS is limited
2015-12-13 15:36:20 -05:00
Soheil Hassas Yeganeh
1734b4cc90
Change the import path to the new grpc-go repo
...
gRPC examples have been migrated from the grpc-common repo to their
language-specific repos. This commit uses the new import path.
2015-08-30 21:15:41 -04:00
Soheil Hassas Yeganeh
b90740dfa9
Fix send on closed channel
...
If a matcher go-routine mateches a connection after the root
listener was closed, cmux will panic since all connection channels
will be closed. This commit avoids closing connection channels but
signals the matcher go-routines that the listener is closed via
a done channel.
Tested: Added a test case for this issue.
2015-08-30 21:10:18 -04:00
Soheil Hassas Yeganeh
d47edebeb9
Add websocket example
...
This commit fixes #1 and adds an example matcher for websocket.
2015-08-05 17:32:32 -04:00
Soheil Hassas Yeganeh
a6c45318a5
Nit in README
2015-08-01 12:44:34 -04:00
Soheil Hassas Yeganeh
51556c6df5
Add an example for recursive muxing
2015-08-01 12:08:59 -04:00
Soheil Hassas Yeganeh
fbd0877935
Use a custom buffer intead of buffers from bytes
...
This commit implements a new buffer that eliminates a few copies.
2015-08-01 11:59:50 -04:00
Soheil Hassas Yeganeh
77815df398
Add micro-benchmarks
2015-08-01 11:57:42 -04:00
Soheil Hassas Yeganeh
5b048e6641
Add the license file
2015-08-01 10:36:36 -04:00
Soheil Hassas Yeganeh
09b35f69d5
Remove trailing spaces in README
2015-07-31 19:57:20 -04:00
Soheil Hassas Yeganeh
581432eab8
Mux connections in parallel
...
This commit launches a go-routine for each accepted connection, to match
them in parallel.
2015-07-31 19:42:28 -04:00
Soheil Hassas Yeganeh
fa65c0526e
Add an example for serving HTTP and HTTPS
...
This commit adds a simple Go doc example for serving HTTP and HTTPS on
the same port.
2015-07-31 11:49:28 -04:00
Soheil Hassas Yeganeh
0417b90d39
Add Go RPC in the README example
2015-07-30 11:03:07 -04:00
Soheil Hassas Yeganeh
2e42ad4f75
Nit in README
2015-07-30 10:00:00 -04:00
Soheil Hassas Yeganeh
a9ff8fbcc0
Elaborate on the limitations in README
2015-07-30 00:10:59 -04:00
Soheil Hassas Yeganeh
69469eaa1c
Nit in README
2015-07-29 19:39:19 -04:00
Soheil Hassas Yeganeh
084f5e19e6
Nit in README
2015-07-29 17:35:55 -04:00
Soheil Hassas Yeganeh
6194168d4e
Remove the bugos http2.Configure from tests
...
http2.Configure is not functional with cmux. Asked for
exporting http2.Server.HandleConn().
2015-07-29 17:23:53 -04:00
Soheil Hassas Yeganeh
549d3f9344
Nit in README
2015-07-29 14:53:29 -04:00
Soheil Hassas Yeganeh
cc3a35aef1
Implement the matcher HTTP1 fields
...
This commit adds the implementation for HTTP 1 header fields.
2015-07-29 14:49:37 -04:00
Soheil Hassas Yeganeh
98f6f6f272
Nit in README
...
Fix the broken godoc link.
2015-07-29 14:40:09 -04:00
Soheil Hassas Yeganeh
033dffc90d
Rename selectors.go to matchers.go to be consitent
2015-07-29 14:07:52 -04:00
Soheil Hassas Yeganeh
ea0a73f55e
Nit in README
...
Make capitalizations consistent.
2015-07-29 14:02:24 -04:00
Soheil Hassas Yeganeh
2863fc463a
Fix the broken godoc status link in README
2015-07-29 13:59:57 -04:00
Soheil Hassas Yeganeh
754f5b897d
Initial commit
2015-07-29 13:49:26 -04:00