mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2025-07-07 01:04:07 +00:00
fix actor EnqueueFrom stack overflow (use nil now to send from self) and replace session send/recv workers with actor functions
This commit is contained in:
@ -162,7 +162,7 @@ func (c *Conn) ReadNoCopy() ([]byte, error) {
|
||||
} else {
|
||||
return nil, ConnError{errors.New("session closed"), false, false, true, 0}
|
||||
}
|
||||
case bs := <-c.session.recv:
|
||||
case bs := <-c.session.toConn:
|
||||
return bs, nil
|
||||
}
|
||||
}
|
||||
@ -221,7 +221,7 @@ func (c *Conn) WriteNoCopy(msg FlowKeyMessage) error {
|
||||
} else {
|
||||
err = ConnError{errors.New("session closed"), false, false, true, 0}
|
||||
}
|
||||
case c.session.send <- msg:
|
||||
case <-c.session.SyncExec(func() { c.session._send(msg) }):
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
Reference in New Issue
Block a user