)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"27a20c8d0fe5bf6d395fbb907f644119ad6742fc","unresolved":true,"context_lines":[{"line_number":7,"context_line":"feat(tvix/castore/refscan): share the scanner between readers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This changes the only actual state the ReferenceScanner has to use atomic bools, so it no longer requires a mutable borrow for .scan(). This allows passing an immutable borrow of a reference scanner to multiple threads which might be ingesting blobs in parallel, and using"},{"line_number":10,"context_line":"them in the ReferenceReader or calling .scan() there."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id5c30bcebb06bf15eae8c4451d70eb806cab722e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3ba5a177_0fa1483c","line":10,"updated":"2024-09-28 07:18:33.000000000","message":"Hmmh, I was more thinking about cloning ReferencePattern and having one ReferenceScanner per worker - so this can be outside the knowledge of each individual instances. Joining the results at the end is also cheap, and we don\u0027t need to worry about synchronization for scanning.\n\nThis doesn\u0027t matter so much when simply scanning for references and flipping bools, but once we start tracking positions too (which we\u0027ll need for the CA story) it might make more sense to use individual scanners.","commit_id":"3d8b1a9066fb65908313cb02cbfd02ab191c40cd"},{"author":{"_account_id":1000106,"name":"yuka","email":"yuka@yuka.dev","username":"yuka"},"change_message_id":"f15859aa0ebd4f06262a225e5b8ab3508731f559","unresolved":true,"context_lines":[{"line_number":7,"context_line":"feat(tvix/castore/refscan): share the scanner between readers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This changes the only actual state the ReferenceScanner has to use atomic bools, so it no longer requires a mutable borrow for .scan(). This allows passing an immutable borrow of a reference scanner to multiple threads which might be ingesting blobs in parallel, and using"},{"line_number":10,"context_line":"them in the ReferenceReader or calling .scan() there."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id5c30bcebb06bf15eae8c4451d70eb806cab722e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"6b4817fa_02efe46f","line":10,"in_reply_to":"3ba5a177_0fa1483c","updated":"2024-09-28 11:39:18.000000000","message":"I want to keep the general interface for passing a scanner object to ingest_path(), which accumulates the matches in this scanner context, because otherwise it would be a very unwieldy interface returning a `Result\u003c(..., Option\u003cVec\u003cbool\u003e\u003e)\u003e` and then multiple unwraps are necessary to get back the results.\n\nThere is no reason to clone the pattern when we can share it as an immutable reference.\n\nMaybe we can include the sender side of a channel in the scanner object instead, so that the scanning can asynchronously report its results to be merged with other results later.\n\nBut I\u0027d like to do this in a followup CL.","commit_id":"3d8b1a9066fb65908313cb02cbfd02ab191c40cd"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"2a590a77f48966312d0b8c23e576923fa56973a5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"feat(tvix/castore/refscan): share the scanner between readers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This changes the only actual state the ReferenceScanner has to use atomic bools, so it no longer requires a mutable borrow for .scan(). This allows passing an immutable borrow of a reference scanner to multiple threads which might be ingesting blobs in parallel, and using"},{"line_number":10,"context_line":"them in the ReferenceReader or calling .scan() there."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id5c30bcebb06bf15eae8c4451d70eb806cab722e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"188f5269_b30fbdaf","line":10,"in_reply_to":"6b4817fa_02efe46f","updated":"2024-10-01 13:40:40.000000000","message":"Acknowledged","commit_id":"3d8b1a9066fb65908313cb02cbfd02ab191c40cd"}]}
