flock(blerg->data_fd, LOCK_UN);
flock(blerg->index_fd, LOCK_UN);
- /* Now do those dirty microblogging deeds */
- tag_scan(blerg->name, data, len, record);
- subscription_notify(blerg->name, record);
+ if (!blerg_get_mute(blerg)) {
+ /* Now do those dirty microblogging deeds */
+ tag_scan(blerg->name, data, len, record);
+ subscription_notify(blerg->name, record);
+ }
return record;
}
CHECK_VALID_BLERG(0)
return blerg->meta->subscription_mark;
}
+
+int blerg_set_mute(struct blerg *blerg, int v) {
+ CHECK_VALID_BLERG(0)
+ if (v) {
+ blerg->meta->status |= BLERGMETA_MUTED;
+ } else {
+ blerg->meta->status &= ~BLERGMETA_MUTED;
+ }
+ return 1;
+}
+
+int blerg_get_mute(struct blerg *blerg) {
+ CHECK_VALID_BLERG(0)
+ return (blerg->meta->status & BLERGMETA_MUTED) > 0;
+}