X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky.h;h=e83c60967cef679d72c525d5b6dfc7e45b9d7be2;hb=5dccfe81a6b4521383acf0b675374493950d09db;hp=8fbcc0da8b41cf25a3b9c2787013375c1ade4e80;hpb=9f0e2f7de7d919d6a83944f0e7fdbd07cb6c4189;p=bluesky.git diff --git a/bluesky/bluesky.h b/bluesky/bluesky.h index 8fbcc0d..e83c609 100644 --- a/bluesky/bluesky.h +++ b/bluesky/bluesky.h @@ -99,6 +99,9 @@ gboolean bluesky_rangeset_insert(BlueSkyRangeset *rangeset, gpointer data); const BlueSkyRangesetItem *bluesky_rangeset_lookup(BlueSkyRangeset *rangeset, uint64_t offset); +const BlueSkyRangesetItem *bluesky_rangeset_lookup_next(BlueSkyRangeset *rangeset, uint64_t offset); +void bluesky_rangeset_get_extents(BlueSkyRangeset *rangeset, + uint64_t *start, uint64_t *length); /* Storage interface. This presents a key-value store abstraction, and can * have multiple implementations: in-memory, on-disk, in-cloud. */ @@ -360,6 +363,19 @@ void bluesky_flushd_thread_launch(BlueSkyFS *fs); void bluesky_debug_dump(BlueSkyFS *fs); +/* Request response time tracking. */ +typedef struct BlueSkyProfile { + char *description; + GList *events; +} BlueSkyProfile; + +BlueSkyProfile *bluesky_profile_new(); +void bluesky_profile_free(BlueSkyProfile *profile); +void bluesky_profile_add_event(BlueSkyProfile *profile, char *message); +void bluesky_profile_print(BlueSkyProfile *profile); +BlueSkyProfile *bluesky_profile_get(); +void bluesky_profile_set(BlueSkyProfile *profile); + #ifdef __cplusplus } #endif