2
0
mirror of https://github.com/soheilhy/cmux.git synced 2024-11-09 19:21:52 +08:00

Cleanup code in cmux and bench_test.

This commit is a partial cherry pick of pull request #3, for code cleanup.
This commit is contained in:
Tamir Duberstein 2015-12-19 22:34:29 -05:00 committed by Soheil Hassas Yeganeh
parent 89dd8ce1fd
commit 563c371a98
2 changed files with 6 additions and 12 deletions

View File

@ -17,8 +17,6 @@ func (c *mockConn) Read(b []byte) (n int, err error) {
}
func BenchmarkCMuxConn(b *testing.B) {
b.StopTimer()
benchHTTPPayload := make([]byte, 4096)
copy(benchHTTPPayload, []byte("GET http://www.w3.org/ HTTP/1.1"))
@ -33,7 +31,7 @@ func BenchmarkCMuxConn(b *testing.B) {
}
}()
b.StartTimer()
b.ResetTimer()
for i := 0; i < b.N; i++ {
c := &mockConn{

14
cmux.go
View File

@ -109,14 +109,12 @@ func (m *cMux) Serve() error {
func (m *cMux) serve(c net.Conn) {
muc := newMuxConn(c)
matched := false
for _, sl := range m.sls {
for _, s := range sl.ss {
matched = s(muc.sniffer())
matched := s(muc.sniffer())
muc.reset()
if matched {
select {
// TODO(soheil): threre is a possiblity of having unclosed connection.
case sl.l.connc <- muc:
case <-sl.l.donec:
c.Close()
@ -126,12 +124,10 @@ func (m *cMux) serve(c net.Conn) {
}
}
if !matched {
c.Close()
err := ErrNotMatched{c: c}
if !m.handleErr(err) {
m.root.Close()
}
c.Close()
err := ErrNotMatched{c: c}
if !m.handleErr(err) {
m.root.Close()
}
}