attemptReconnect method
Implementation
Future<bool> attemptReconnect() async {
await _stream.cancel();
var result = await _client.subscribe(cacheName, topicName,
resumeAtTopicSequenceNumber: lastSequenceNumber,
resumeAtTopicSequencePage: lastSequencePage);
if (result is TopicSubscription) {
logger.fine(
"Attempting to reconnect to topic $topicName on cache $cacheName with sequence number $lastSequenceNumber and sequence page $lastSequencePage");
_stream = result._stream;
_broadcastStream = result._broadcastStream;
lastSequenceNumber = result.lastSequenceNumber;
lastSequencePage = result.lastSequencePage;
} else if (result is TopicSubscribeError) {
logger.fine("Error reconnecting: ${result.message}");
if (result.errorCode == MomentoErrorCode.limitExceededError ||
result.errorCode == MomentoErrorCode.cancelledError) {
return false;
}
}
return true;
}