def source.error

mylsm-lsm-store@0.6.0.1 · src/transfer/BackupOwnerCursorIo.bend:56

import mylsm-lsm-store@0.6.0.1/src/transfer/BackupOwnerCursorIo.bend as BackupOwnerCursorIo
import Base
import mylsm-lsm-store@0.6.0.1/src/coordinator/Client.bend as Client
import mylsm-lsm-store@0.6.0.1/src/coordinator/Io.bend as ClientIo
import mylsm-lsm-store@0.6.0.1/src/coordinator/UnixSocketIo.bend as ClientSocket
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupOwnerPolicy.bend as Policy
import mylsm-lsm-store@0.6.0.1/src/transfer/Backup.bend as Backup

56# Converts socket and protocol errors into the pure owner-error policy.
57def source.error(error: Client.Error) -> Backup.Error:
58  match error:
59    case Client.ConnectFailure{ClientSocket.Host{code, message}}:
60      Policy.source.error(Policy.ConnectHost{code, message})
61    case Client.ConnectFailure{ClientSocket.UnsupportedPlatform{}}:
62      Policy.source.error(Policy.ConnectUnsupported{})
63    case Client.ConnectFailure{ClientSocket.Transient{code}}:
64      Policy.source.error(Policy.ConnectHost{code,
65        "owner socket connection was interrupted"})
66    case Client.RetryRead{ClientIo.Host{code, message}}:
67      Policy.source.error(Policy.ReadHost{code, message})
68    case Client.RetryRead{ClientIo.UnsupportedPlatform{}}:
69      Policy.source.error(Policy.ReadUnsupported{})
70    case Client.RetryRead{ClientIo.Transient{code}}:
71      Policy.source.error(Policy.ReadHost{code,
72        "owner socket read was interrupted"})
73    case Client.RetryRead{_}: Policy.source.error(Policy.ReadFailure{})
74    case Client.CommitUnknown{ClientIo.Host{code, message}}:
75      Policy.source.error(Policy.CommitHost{code, message})
76    case Client.CommitUnknown{ClientIo.Transient{code}}:
77      Policy.source.error(Policy.CommitHost{code,
78        "owner mutation response was interrupted"})
79    case Client.CommitUnknown{_}: Policy.source.error(Policy.CommitFailure{})
80    case Client.FrameTooLarge{}: Policy.source.error(Policy.FrameTooLarge{})
81    case Client.StaleOwner{}: Policy.source.error(Policy.StaleOwner{})
82    case Client.CorrelationMismatch{}:
83      Policy.source.error(Policy.CorrelationMismatch{})
84    case Client.MalformedResponse{}:
85      Policy.source.error(Policy.MalformedResponse{})
86    case Client.RequestIdsExhausted{}:
87      Policy.source.error(Policy.RequestIdsExhausted{})
88    case Client.OwnerRejected{_}: Policy.source.error(Policy.OwnerRejected{})

Uses (6)

Used by (2)