X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky-private.h;h=d4ec4cdaaffbb359baf0f470507ab97e20c620d3;hb=9e4bbf0254fa05ab199e25fc1e70a3325225c6c7;hp=b188ac2341f89f700c0d73474356c69842b952cc;hpb=6d6488b277fe7e57b25bcade9c6759688e2bcdea;p=bluesky.git diff --git a/bluesky/bluesky-private.h b/bluesky/bluesky-private.h index b188ac2..d4ec4cd 100644 --- a/bluesky/bluesky-private.h +++ b/bluesky/bluesky-private.h @@ -329,6 +329,10 @@ struct BlueSkyCloudLogState { GSList *writeback_list; // Items which are being serialized right now GList *pending_segments; // Segments which are being uploaded now + int uploads_pending; // Count of uploads in progress, not completed + GMutex *uploads_pending_lock; + GCond *uploads_pending_cond; + /* What is the most recent sequence number written by the cleaner which we * have processed and incorporated into our own log? This gets * incorporated into the version vector written out with our checkpoint @@ -433,7 +437,10 @@ void bluesky_replay(BlueSkyFS *fs); /* Used to track log segments that are being written to the cloud. */ typedef struct { - BlueSkyRCStr *data; + BlueSkyFS *fs; + char *key; /* File name for log segment in backend */ + GString *raw_data; /* Data before encryption */ + BlueSkyRCStr *data; /* Data after encryption */ GSList *items; GMutex *lock; GCond *cond; @@ -477,6 +484,7 @@ gboolean bluesky_checkpoint_load(BlueSkyFS *fs); /* Merging of log state with the work of the cleaner. */ void bluesky_cleaner_merge(BlueSkyFS *fs); +void bluesky_cleaner_thread_launch(BlueSkyFS *fs); #ifdef __cplusplus }