func (cr *connectionRun) handleMsgFromServer(msg *msgs.Message) error { if cr.currentState != cr { return nil } cr.missingBeats = 0 switch which := msg.Which(); which { case msgs.MESSAGE_HEARTBEAT: // do nothing case msgs.MESSAGE_CLIENTTXNOUTCOME: outcome := msg.ClientTxnOutcome() return cr.handleTxnOutcome(&outcome) default: return fmt.Errorf("Received unexpected message from server: %v", which) } return nil }