| 104 | |
| 105 | private: |
| 106 | static Future<Option<RecoverResponse>> timedout( |
| 107 | Future<Option<RecoverResponse>> future, |
| 108 | const Duration& timeout) |
| 109 | { |
| 110 | LOG(INFO) << "Unable to finish the recover protocol in " |
| 111 | << timeout << ", retrying"; |
| 112 | |
| 113 | future.discard(); |
| 114 | |
| 115 | // The 'future' will eventually become DISCARDED, at which time we |
| 116 | // will re-run the recover protocol. We use the boolean flag |
| 117 | // 'terminating' to distinguish between a user initiated discard |
| 118 | // and a timeout induced discard. |
| 119 | return future; |
| 120 | } |
| 121 | |
| 122 | void discard() |
| 123 | { |