@@ -112,7 +112,7 @@ package final class CompilationCachingDataPruner: Sendable {
112112 { activityID in
113113 let status : BuildOperationTaskEnded . Status
114114 do {
115- let dbSize = try casDBs. getOndiskSize ( )
115+ let dbSize = try ByteCount ( casDBs. getOndiskSize ( ) )
116116 let sizeLimit = try computeCASSizeLimit ( casOptions: casOpts, dbSize: dbSize, fileSystem: fs)
117117 if let dbSize, let sizeLimit, sizeLimit < dbSize {
118118 activityReporter. emit (
@@ -125,7 +125,7 @@ package final class CompilationCachingDataPruner: Sendable {
125125 signature: signature
126126 )
127127 }
128- try casDBs. setOndiskSizeLimit ( sizeLimit ?? 0 )
128+ try casDBs. setOndiskSizeLimit ( sizeLimit? . count ?? 0 )
129129 try casDBs. pruneOndiskData ( )
130130 status = . succeeded
131131 } catch {
@@ -181,8 +181,8 @@ package final class CompilationCachingDataPruner: Sendable {
181181 { activityID in
182182 let status : BuildOperationTaskEnded . Status
183183 do {
184- let dbSize = try casDBs. getStorageSize ( )
185- let sizeLimit = try computeCASSizeLimit ( casOptions: casOpts, dbSize: dbSize. map { Int ( $0 ) } , fileSystem: fs)
184+ let dbSize = try ByteCount ( casDBs. getStorageSize ( ) )
185+ let sizeLimit = try computeCASSizeLimit ( casOptions: casOpts, dbSize: dbSize, fileSystem: fs)
186186 if let dbSize, let sizeLimit, sizeLimit < dbSize {
187187 activityReporter. emit (
188188 diagnostic: Diagnostic (
@@ -194,7 +194,7 @@ package final class CompilationCachingDataPruner: Sendable {
194194 signature: signature
195195 )
196196 }
197- try casDBs. setSizeLimit ( Int64 ( sizeLimit ?? 0 ) )
197+ try casDBs. setSizeLimit ( sizeLimit? . count ?? 0 )
198198 try casDBs. prune ( )
199199 status = . succeeded
200200 } catch {
@@ -250,8 +250,8 @@ package final class CompilationCachingDataPruner: Sendable {
250250 { activityID in
251251 let status : BuildOperationTaskEnded . Status
252252 do {
253- let dbSize = ( try ? toolchainCAS. getOnDiskSize ( ) ) . map { Int ( $0 ) }
254- let sizeLimit = try computeCASSizeLimit ( casOptions: casOpts, dbSize: dbSize, fileSystem: fs) . map { Int64 ( $0 ) }
253+ let dbSize = try ? ByteCount ( toolchainCAS. getOnDiskSize ( ) )
254+ let sizeLimit = try computeCASSizeLimit ( casOptions: casOpts, dbSize: dbSize, fileSystem: fs)
255255 if let dbSize, let sizeLimit, sizeLimit < dbSize {
256256 activityReporter. emit (
257257 diagnostic: Diagnostic (
@@ -263,7 +263,7 @@ package final class CompilationCachingDataPruner: Sendable {
263263 signature: signature
264264 )
265265 }
266- try toolchainCAS. setOnDiskSizeLimit ( sizeLimit ?? 0 )
266+ try toolchainCAS. setOnDiskSizeLimit ( sizeLimit? . count ?? 0 )
267267 try toolchainCAS. prune ( )
268268 status = . succeeded
269269 } catch {
@@ -287,9 +287,9 @@ package final class CompilationCachingDataPruner: Sendable {
287287
288288fileprivate func computeCASSizeLimit(
289289 casOptions: CASOptions ,
290- dbSize: Int ? ,
290+ dbSize: ByteCount ? ,
291291 fileSystem fs: any FSProxy
292- ) throws -> Int ? {
292+ ) throws -> ByteCount ? {
293293 guard let dbSize else { return nil }
294294 switch casOptions. limitingStrategy {
295295 case . discarded:
@@ -304,6 +304,6 @@ fileprivate func computeCASSizeLimit(
304304 return nil
305305 }
306306 let availableSpace = dbSize + freeSpace
307- return availableSpace * percent / 100
307+ return ByteCount ( availableSpace. count * Int64 ( percent) / 100 )
308308 }
309309}
0 commit comments