diff options
Diffstat (limited to 'common/queue_policies.c')
-rw-r--r-- | common/queue_policies.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/common/queue_policies.c b/common/queue_policies.c new file mode 100644 index 0000000000..130dee52f0 --- /dev/null +++ b/common/queue_policies.c @@ -0,0 +1,28 @@ +/* Copyright 2015 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Queue policies. + */ +#include "queue_policies.h" +#include "util.h" + +#include <stddef.h> + +void queue_add_direct(struct queue_policy const *policy, size_t count) +{ + struct queue_policy_direct const *direct = + DOWNCAST(policy, struct queue_policy_direct, policy); + + if (count && direct->consumer->ops->written) + direct->consumer->ops->written(direct->consumer, count); +} + +void queue_remove_direct(struct queue_policy const *policy, size_t count) +{ + struct queue_policy_direct const *direct = + DOWNCAST(policy, struct queue_policy_direct, policy); + + if (count && direct->producer->ops->read) + direct->producer->ops->read(direct->producer, count); +} |