Add touch method to update stringring timestamp
return ret;
}
+int stringring_touch(struct stringring *sr, const char *data) {
+ STRINGRING_DATA_CHECK();
+ int ret, idx;
+
+ flock(sr->fd, LOCK_EX);
+ idx = stringring_find_unlocked(sr, data, 0);
+ ret = idx >= 0;
+ if (ret) {
+ sr->sb->entries[idx].timestamp = time(NULL);
+ }
+ flock(sr->fd, LOCK_UN);
+
+ return ret;
+}
+
int stringring_remove(struct stringring *sr, const char *data) {
STRINGRING_DATA_CHECK();
int ret;
int stringring_add(struct stringring *sr, const char *data);
int stringring_find(struct stringring *sr, const char *data, unsigned int max_age);
int stringring_remove(struct stringring *sr, const char *data);
+int stringring_touch(struct stringring *sr, const char *data);
int stringring_clear(struct stringring *sr);
#endif /* _STRINGRING_H */