def close.resource
mylsm-lsm-store@0.6.0.1 · src/transfer/BackupCursorIo.bend:79
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursorIo.bend as BackupCursorIo
import Base
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend as VisibleCursor
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupIo.bend as BackupIo
79def close.resource(
80 file: File,
81 +directory: String,
82 cursor: Maybe<&1, VisibleCursor.Cursor>
83) -> IO(Result<&1, &1, BackupIo.Error, Unit>):
84 match cursor:
85 case Some{reader}:
86 do IO<Result<&1, &1, BackupIo.Error, Unit>>:
87 _closed_cursor : Result<&1, &1, U32 & String, Unit> <- VisibleCursor.close(reader)
88 _closed_file : Unit <- File.close(file)
89 cleanup(directory)
90 return Fail{BackupIo.ResourceLimit{}}
91 case None{}:
92 do IO<Result<&1, &1, BackupIo.Error, Unit>>:
93 _closed_file : Unit <- File.close(file)
94 cleanup(directory)
95 return Fail{BackupIo.ResourceLimit{}}