Haka
vbuffer_stream.h
Go to the documentation of this file.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
10 #ifndef HAKA_VBUFFER_STREAM_H
11 #define HAKA_VBUFFER_STREAM_H
12 
13 #include <haka/vbuffer.h>
14 
15 
16 struct vbuffer_stream_chunk;
17 
24  struct lua_object lua_object;
25  struct vbuffer data;
26  struct list2 chunks;
27  struct list2 read_chunks;
28  void (*userdata_cleanup)(void *);
29 };
30 
34 bool vbuffer_stream_init(struct vbuffer_stream *stream, void (*userdata_cleanup)(void *));
35 
39 void vbuffer_stream_clear(struct vbuffer_stream *stream);
40 
45 bool vbuffer_stream_push(struct vbuffer_stream *stream, struct vbuffer *buffer, void *userdata, struct vbuffer_iterator *current);
46 
51 void vbuffer_stream_finish(struct vbuffer_stream *stream);
52 
56 bool vbuffer_stream_isfinished(struct vbuffer_stream *stream);
57 
63 bool vbuffer_stream_pop(struct vbuffer_stream *stream, struct vbuffer *buffer, void **userdata);
64 
68 struct vbuffer *vbuffer_stream_data(struct vbuffer_stream *stream);
69 
70 #endif /* HAKA_VBUFFER_STREAM_H */
struct vbuffer * vbuffer_stream_data(struct vbuffer_stream *stream)
Definition: vbuffer_stream.c:322
Definition: vbuffer.h:64
Definition: vbuffer.h:77
bool vbuffer_stream_push(struct vbuffer_stream *stream, struct vbuffer *buffer, void *userdata, struct vbuffer_iterator *current)
Definition: vbuffer_stream.c:92
void vbuffer_stream_clear(struct vbuffer_stream *stream)
Definition: vbuffer_stream.c:83
Definition: vbuffer_stream.h:23
bool vbuffer_stream_isfinished(struct vbuffer_stream *stream)
Definition: vbuffer_stream.c:182
bool vbuffer_stream_pop(struct vbuffer_stream *stream, struct vbuffer *buffer, void **userdata)
Definition: vbuffer_stream.c:188
void vbuffer_stream_finish(struct vbuffer_stream *stream)
Definition: vbuffer_stream.c:176
bool vbuffer_stream_init(struct vbuffer_stream *stream, void(*userdata_cleanup)(void *))
Definition: vbuffer_stream.c:72