/// <summary>
 /// Enables the timeout message caching which is disabled by default.
 /// Once enabled, if a client side timeout is encountered
 /// (i.e. brainCloud server is unreachable presumably due to the client
 /// network being down) the SDK will do the following:
 ///
 /// 1 - cache the currently queued messages to brainCloud
 /// 2 - call the network error callback
 /// 3 - then expect the app to call either:
 ///     a) RetryCachedMessages() to retry sending to brainCloud
 ///     b) FlushCachedMessages() to dump all messages in the queue.
 ///
 /// Between steps 2 & 3, the app can prompt the user to retry connecting
 /// to brainCloud to determine whether to follow path 3a or 3b.
 ///
 /// Note that if path 3a is followed, and another timeout is encountered,
 /// the process will begin all over again from step 1.
 ///
 /// WARNING - the brainCloud SDK will cache *all* API calls sent
 /// when a timeout is encountered if this mechanism is enabled.
 /// This effectively freezes all communication with brainCloud.
 /// Apps must call either RetryCachedMessages() or FlushCachedMessages()
 /// for the brainCloud SDK to resume sending messages.
 /// ResetCommunication() will also clear the message cache.
 /// </summary>
 /// <param name="enabled">True if message should be cached on timeout</param>
 public void EnableNetworkErrorMessageCaching(bool enabled)
 {
     _comms.EnableNetworkErrorMessageCaching(enabled);
 }