Merge pull request #2156 from chengxuncc/patch-1

add network to multiplexer index
This commit is contained in:
Marten Seemann
2019-10-01 09:08:44 +07:00
committed by GitHub

View File

@@ -57,8 +57,8 @@ func (m *connMultiplexer) AddConn(
m.mutex.Lock()
defer m.mutex.Unlock()
laddr := c.LocalAddr().String()
p, ok := m.conns[laddr]
connIndex := c.LocalAddr().Network() + " " + c.LocalAddr().String()
p, ok := m.conns[connIndex]
if !ok {
manager := m.newPacketHandlerManager(c, connIDLen, statelessResetKey, m.logger)
p = connManager{
@@ -66,7 +66,7 @@ func (m *connMultiplexer) AddConn(
statelessResetKey: statelessResetKey,
manager: manager,
}
m.conns[laddr] = p
m.conns[connIndex] = p
}
if p.connIDLen != connIDLen {
return nil, fmt.Errorf("cannot use %d byte connection IDs on a connection that is already using %d byte connction IDs", connIDLen, p.connIDLen)
@@ -81,11 +81,11 @@ func (m *connMultiplexer) RemoveConn(c net.PacketConn) error {
m.mutex.Lock()
defer m.mutex.Unlock()
laddr := c.LocalAddr().String()
if _, ok := m.conns[laddr]; !ok {
connIndex := c.LocalAddr().Network() + " " + c.LocalAddr().String()
if _, ok := m.conns[connIndex]; !ok {
return fmt.Errorf("cannote remove connection, connection is unknown")
}
delete(m.conns, laddr)
delete(m.conns, connIndex)
return nil
}