Correct switchboard valve's scope

This commit is contained in:
Andy Wang 2020-04-08 15:15:08 +01:00
parent e52daf1a39
commit 2dc7c6d6e1
2 changed files with 6 additions and 6 deletions

View File

@ -82,7 +82,7 @@ func MakeSession(id uint32, config SessionConfig) *Session {
} }
sbConfig := switchboardConfig{ sbConfig := switchboardConfig{
Valve: sesh.Valve, valve: sesh.Valve,
recvBufferSize: sesh.ReceiveBufferSize, recvBufferSize: sesh.ReceiveBufferSize,
} }
if sesh.Unordered { if sesh.Unordered {

View File

@ -15,7 +15,7 @@ const (
) )
type switchboardConfig struct { type switchboardConfig struct {
Valve valve Valve
strategy switchboardStrategy strategy switchboardStrategy
recvBufferSize int recvBufferSize int
} }
@ -68,11 +68,11 @@ func (sb *switchboard) send(data []byte, connId *uint32) (n int, err error) {
sb.close("failed to write to remote " + err.Error()) sb.close("failed to write to remote " + err.Error())
return n, err return n, err
} }
sb.AddTx(int64(n)) sb.valve.AddTx(int64(n))
return n, nil return n, nil
} }
sb.Valve.txWait(len(data)) sb.valve.txWait(len(data))
connCount := sb.connsCount() connCount := sb.connsCount()
if atomic.LoadUint32(&sb.broken) == 1 || connCount == 0 { if atomic.LoadUint32(&sb.broken) == 1 || connCount == 0 {
return 0, errBrokenSwitchboard return 0, errBrokenSwitchboard
@ -157,8 +157,8 @@ func (sb *switchboard) deplex(connId uint32, conn net.Conn) {
buf := make([]byte, sb.recvBufferSize) buf := make([]byte, sb.recvBufferSize)
for { for {
n, err := sb.session.UnitRead(conn, buf) n, err := sb.session.UnitRead(conn, buf)
sb.rxWait(n) sb.valve.rxWait(n)
sb.Valve.AddRx(int64(n)) sb.valve.AddRx(int64(n))
if err != nil { if err != nil {
log.Debugf("a connection for session %v has closed: %v", sb.session.id, err) log.Debugf("a connection for session %v has closed: %v", sb.session.id, err)
sb.close("a connection has dropped unexpectedly") sb.close("a connection has dropped unexpectedly")