func handleOnlineStatus(d *Server, ctx context.Context, cmd *wire.Command) (*wire.Response, error) { qry := cmd.GetOnlineStatusCommand().Query switch qry { case wire.OnlineQuery_IS_ONLINE: return &wire.Response{ OnlineStatusResp: &wire.Response_OnlineStatusResp{ IsOnline: d.IsOnline(), }, }, nil case wire.OnlineQuery_GO_ONLINE: return nil, d.Connect() case wire.OnlineQuery_GO_OFFLINE: return nil, d.Disconnect() } return nil, fmt.Errorf("handleOnlineStatus: Bad query received: %v", qry) }