File tree Expand file tree Collapse file tree 1 file changed +15
-19
lines changed Expand file tree Collapse file tree 1 file changed +15
-19
lines changed Original file line number Diff line number Diff line change 181
181
(invalidate slab (p/+ offset 1 ) 1 )
182
182
nil )))
183
183
184
- (defn- task [slab offset len lock ]
184
+ (defn- task [slab offset len]
185
185
(Task.
186
186
slab
187
187
offset
218
218
" Takes a slab, and returns a sequence of the tasks it contains."
219
219
([slab]
220
220
(slab->task-seq slab 0 ))
221
- ([slab pos]
221
+ ([slab ^long pos]
222
222
(with-buffer [buf slab]
223
223
(try
224
- (let [^ByteBuffer
225
- buf' (.position buf pos)]
224
+ (let [^ByteBuffer buf' (.position buf pos)]
226
225
227
226
; ; is there a next task, and is there space left in the buffer?
228
227
(when (and
229
- (< header-size (.remaining buf'))
228
+ (<= header-size (.remaining buf'))
230
229
(== 1 (.get buf')))
231
230
232
231
(lazy-seq
233
232
(with-buffer [buf slab]
234
- (let [status (.get buf')
233
+ (let [^ByteBuffer buf' (.position buf (p/inc pos))
234
+ status (.get buf')
235
235
checksum (.getLong buf')
236
236
size (.getInt buf')]
237
237
243
243
(task
244
244
slab
245
245
pos
246
- (+ header-size size)
247
- (read-write-lock slab))
246
+ (+ header-size size))
248
247
249
248
(slab->task-seq
250
249
slab
269
268
lock)
270
269
271
270
(buffer [this]
272
- (let [buf
273
- (or @buf
274
- (swap! buf
275
- (fn [buf]
276
- (or buf (load-buffer filename)))))]
271
+ (let [buf (or @buf
272
+ (swap! buf
273
+ (fn [buf]
274
+ (or buf (load-buffer filename)))))]
277
275
(.duplicate ^ByteBuffer buf)))
278
276
279
277
(mapped? [_]
280
278
(boolean @buf))
281
279
282
280
(unmap [_]
283
281
(with-exclusive-lock lock
284
- (when (.exists (io/file filename))
285
- (when-let [buf @buf]
286
- (unmap-buffer buf))
287
- (reset! buf nil ))))
282
+ (when-let [b @buf]
283
+ (reset! buf nil )
284
+ (unmap-buffer b))))
288
285
289
286
(invalidate [_ start' len]
290
287
(let [end' (+ start' len)]
327
324
(task
328
325
this
329
326
pos
330
- (+ header-size cnt)
331
- lock)))))
327
+ (+ header-size cnt))))))
332
328
333
329
clojure.lang.Seqable
334
330
(seq [this]
You can’t perform that action at this time.
0 commit comments