func (c *Connection) withStateLock(f func() error) error {
	c.stateMut.Lock()
	err := f()
	c.stateMut.Unlock()

	return err
}
func (c *Connection) withStateLock(f func() error) error {
	c.stateMut.Lock()
	err := f()
	c.stateMut.Unlock()

	return err
}
func ( c * Connection ) withStateLock ( f func ( ) error ) error { c . stateMut . Lock ( ) err := f ( ) c . stateMut . Unlock ( ) return err }
// withStateLock performs an action with the connection state mutex locked
withStateLock performs an action with the connection state mutex locked