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{}}

Uses (15)

Used by (3)