| 3 | namespace hf3fs { |
| 4 | |
| 5 | Status StatusCodeConversion::convertToStorageClientCode(Status status) { |
| 6 | switch (status.code()) { |
| 7 | case StatusCode::kInvalidArg: |
| 8 | return status.convert(StorageClientCode::kInvalidArg); |
| 9 | case RPCCode::kTimeout: |
| 10 | return status.convert(StorageClientCode::kTimeout); |
| 11 | case RPCCode::kSendFailed: |
| 12 | case RPCCode::kRequestRefused: |
| 13 | return status.convert(StorageClientCode::kCommError); |
| 14 | case RPCCode::kVerifyRequestFailed: |
| 15 | case RPCCode::kVerifyResponseFailed: |
| 16 | return status.convert(StorageClientCode::kProtocolMismatch); |
| 17 | case StorageCode::kChunkMetadataNotFound: |
| 18 | return status.convert(StorageClientCode::kChunkNotFound); |
| 19 | case StorageCode::kChunkReadFailed: |
| 20 | return status.convert(StorageClientCode::kRemoteIOError); |
| 21 | case StorageCode::kChecksumMismatch: |
| 22 | return status.convert(StorageClientCode::kChecksumMismatch); |
| 23 | case StorageCode::kChainVersionMismatch: |
| 24 | return status.convert(StorageClientCode::kRoutingVersionMismatch); |
| 25 | case StorageCode::kChunkNotCommit: |
| 26 | return status.convert(StorageClientCode::kChunkNotCommit); |
| 27 | case StorageCode::kChannelIsLocked: |
| 28 | return status.convert(StorageClientCode::kResourceBusy); |
| 29 | case StatusCode::kReadOnlyMode: |
| 30 | return status.convert(StorageClientCode::kReadOnlyServer); |
| 31 | } |
| 32 | |
| 33 | if (StatusCode::typeOf(status.code()) == StatusCodeType::StorageClient) { |
| 34 | return status; |
| 35 | } else { |
| 36 | return status.convert(StorageClientCode::kServerError); |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | } // namespace hf3fs |