X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky-private.h;h=7eaba1ef9858ea2f1a9e922ea415dc05652890a4;hb=d7d143ef0ccf0f49a8fd23a3c76bc68c0b04e07e;hp=058c5bd83235283b4864d5ad1425f13ba7b7ddb1;hpb=6710eff91ed1a5ee193701ef4b9b28460bb8e95c;p=bluesky.git diff --git a/bluesky/bluesky-private.h b/bluesky/bluesky-private.h index 058c5bd..7eaba1e 100644 --- a/bluesky/bluesky-private.h +++ b/bluesky/bluesky-private.h @@ -47,7 +47,8 @@ typedef enum { } BlueSkyAsyncStatus; struct BlueSkyNotifierList; -typedef struct { +typedef struct _BlueSkyStoreAsync BlueSkyStoreAsync; +struct _BlueSkyStoreAsync { BlueSkyStore *store; GMutex *lock; @@ -65,10 +66,16 @@ typedef struct { struct BlueSkyNotifierList *notifiers; gint notifier_count; + /* The barrier waiting on this operation. Support for more than one + * barrier for a single async is not well-supported and should be avoided + * if possible. */ + BlueSkyStoreAsync *barrier; + bluesky_time_hires start_time; /* Time operation was submitted. */ + bluesky_time_hires exec_time; /* Time processing started on operation. */ gpointer store_private; /* For use by the storage implementation */ -} BlueSkyStoreAsync; +}; /* Support for notification lists. These are lists of one-shot functions which * can be called when certain events--primarily, competed storage