RGLab / cytolib

c++ library for representing and interacting the gated cytometry data structure
GNU Affero General Public License v3.0
12 stars 11 forks source link

move readonly lock from cytoframe to h5cytoframe #30

Closed mikejiang closed 4 years ago

mikejiang commented 4 years ago

To achieve the temporary/experimental modifications(e.g, rename channels/markers/keywords) on GatingSet object (particularly the underlying cytoset/cytoframe), we now relax the locking mechanism so that all the changes(except exprs data) are permitted even when readonly = TRUE.

The changes remain in cache until

Currently we intentionally disable the auto-flushing at destructor (i.e. when gs is out of scope) to prevent the accidental changes unexpectedly become permanent, which means users have to do one of the three actions above in order to save the changes.