X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer-metadata-cache.h;h=b8f4efadc4c5ec59913cb75ea1644882fab2331b;hb=HEAD;hp=4c029b90e9208fdf74b1e8a6745028de49bb340a;hpb=b1316da1ffbd276fc8271e7a9438e683ad352781;p=lttng-tools.git diff --git a/src/common/consumer/consumer-metadata-cache.h b/src/common/consumer/consumer-metadata-cache.h deleted file mode 100644 index 4c029b90e..000000000 --- a/src/common/consumer/consumer-metadata-cache.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2013 Julien Desfossez - * Copyright (C) 2013 David Goulet - * - * SPDX-License-Identifier: GPL-2.0-only - * - */ - -#ifndef CONSUMER_METADATA_CACHE_H -#define CONSUMER_METADATA_CACHE_H - -#include - -enum consumer_metadata_cache_write_status { - CONSUMER_METADATA_CACHE_WRITE_STATUS_ERROR = -1, - /* - * New metadata content was appended to the cache successfully. - * Previously available content remains valid. - */ - CONSUMER_METADATA_CACHE_WRITE_STATUS_APPENDED_CONTENT = 0, - /* - * The new content pushed to the cache invalidated the content that - * was already present. The contents of the cache should be re-read. - */ - CONSUMER_METADATA_CACHE_WRITE_STATUS_INVALIDATED, - /* - * A metadata cache write can simply overwrite an already existing - * section of the cache (and it should be a write-through with identical - * data). From the caller's standpoint, there is no change to the state - * of the cache. - */ - CONSUMER_METADATA_CACHE_WRITE_STATUS_NO_CHANGE, -}; - -struct consumer_metadata_cache { - char *data; - uint64_t cache_alloc_size; - /* - * Current version of the metadata cache. - */ - uint64_t version; - /* - * The upper-limit of data written inside the buffer. - * - * With the total_bytes_written it allows us to keep track of when the - * cache contains contiguous metadata ready to be sent to the RB. - * All cached data is contiguous. - */ - uint64_t max_offset; - /* - * Lock to update the metadata cache and push into the ring_buffer - * (ustctl_write_metadata_to_channel). - * - * This is nested INSIDE the consumer_data lock. - */ - pthread_mutex_t lock; -}; - -enum consumer_metadata_cache_write_status -consumer_metadata_cache_write(struct lttng_consumer_channel *channel, - unsigned int offset, unsigned int len, uint64_t version, - const char *data); -int consumer_metadata_cache_allocate(struct lttng_consumer_channel *channel); -void consumer_metadata_cache_destroy(struct lttng_consumer_channel *channel); -int consumer_metadata_cache_flushed(struct lttng_consumer_channel *channel, - uint64_t offset, int timer); - -#endif /* CONSUMER_METADATA_CACHE_H */