blob: 5d2535c500fab1414a2e67e458b2d06fc0ce5b33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#pragma once
#include <al/array.h>
#include "util/packet.h"
#include "util/thread/thread.h"
struct nn_packet_cache {
array(struct nn_packet *) cache;
u32 flush;
bool disabled;
struct nn_cond cond;
struct nn_mutex mutex;
};
void nn_packet_cache_init(struct nn_packet_cache *cache, u32 size);
bool nn_packet_cache_available(struct nn_packet_cache *cache);
void nn_packet_cache_send_packet(struct nn_packet_cache *cache, struct nn_packet *packet);
void nn_packet_cache_flush(struct nn_packet_cache *cache);
bool nn_packet_cache_wait(struct nn_packet_cache *cache, u32 *count);
struct nn_packet *nn_packet_cache_at(struct nn_packet_cache *cache, u32 index);
void nn_packet_cache_unlock(struct nn_packet_cache *cache);
void nn_packet_cache_disable(struct nn_packet_cache *cache);
void nn_packet_cache_enable(struct nn_packet_cache *cache);
void nn_packet_cache_free(struct nn_packet_cache *cache);
|