aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buffer.c19
-rw-r--r--src/buffer.h11
2 files changed, 14 insertions, 16 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 357730a..ac5c531 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -3,11 +3,6 @@
3* LuaSocket toolkit 3* LuaSocket toolkit
4\*=========================================================================*/ 4\*=========================================================================*/
5#include "luasocket.h" 5#include "luasocket.h"
6
7#include "lua.h"
8#include "lauxlib.h"
9#include "compat.h"
10
11#include "buffer.h" 6#include "buffer.h"
12 7
13/*=========================================================================*\ 8/*=========================================================================*\
@@ -34,7 +29,7 @@ static int sendraw(p_buffer buf, const char *data, size_t count, size_t *sent);
34/*-------------------------------------------------------------------------*\ 29/*-------------------------------------------------------------------------*\
35* Initializes module 30* Initializes module
36\*-------------------------------------------------------------------------*/ 31\*-------------------------------------------------------------------------*/
37LUASOCKET_PRIVATE int buffer_open(lua_State *L) { 32int buffer_open(lua_State *L) {
38 (void) L; 33 (void) L;
39 return 0; 34 return 0;
40} 35}
@@ -42,7 +37,7 @@ LUASOCKET_PRIVATE int buffer_open(lua_State *L) {
42/*-------------------------------------------------------------------------*\ 37/*-------------------------------------------------------------------------*\
43* Initializes C structure 38* Initializes C structure
44\*-------------------------------------------------------------------------*/ 39\*-------------------------------------------------------------------------*/
45LUASOCKET_PRIVATE void buffer_init(p_buffer buf, p_io io, p_timeout tm) { 40void buffer_init(p_buffer buf, p_io io, p_timeout tm) {
46 buf->first = buf->last = 0; 41 buf->first = buf->last = 0;
47 buf->io = io; 42 buf->io = io;
48 buf->tm = tm; 43 buf->tm = tm;
@@ -53,7 +48,7 @@ LUASOCKET_PRIVATE void buffer_init(p_buffer buf, p_io io, p_timeout tm) {
53/*-------------------------------------------------------------------------*\ 48/*-------------------------------------------------------------------------*\
54* object:getstats() interface 49* object:getstats() interface
55\*-------------------------------------------------------------------------*/ 50\*-------------------------------------------------------------------------*/
56LUASOCKET_PRIVATE int buffer_meth_getstats(lua_State *L, p_buffer buf) { 51int buffer_meth_getstats(lua_State *L, p_buffer buf) {
57 lua_pushnumber(L, (lua_Number) buf->received); 52 lua_pushnumber(L, (lua_Number) buf->received);
58 lua_pushnumber(L, (lua_Number) buf->sent); 53 lua_pushnumber(L, (lua_Number) buf->sent);
59 lua_pushnumber(L, timeout_gettime() - buf->birthday); 54 lua_pushnumber(L, timeout_gettime() - buf->birthday);
@@ -63,7 +58,7 @@ LUASOCKET_PRIVATE int buffer_meth_getstats(lua_State *L, p_buffer buf) {
63/*-------------------------------------------------------------------------*\ 58/*-------------------------------------------------------------------------*\
64* object:setstats() interface 59* object:setstats() interface
65\*-------------------------------------------------------------------------*/ 60\*-------------------------------------------------------------------------*/
66LUASOCKET_PRIVATE int buffer_meth_setstats(lua_State *L, p_buffer buf) { 61int buffer_meth_setstats(lua_State *L, p_buffer buf) {
67 buf->received = (long) luaL_optnumber(L, 2, (lua_Number) buf->received); 62 buf->received = (long) luaL_optnumber(L, 2, (lua_Number) buf->received);
68 buf->sent = (long) luaL_optnumber(L, 3, (lua_Number) buf->sent); 63 buf->sent = (long) luaL_optnumber(L, 3, (lua_Number) buf->sent);
69 if (lua_isnumber(L, 4)) buf->birthday = timeout_gettime() - lua_tonumber(L, 4); 64 if (lua_isnumber(L, 4)) buf->birthday = timeout_gettime() - lua_tonumber(L, 4);
@@ -74,7 +69,7 @@ LUASOCKET_PRIVATE int buffer_meth_setstats(lua_State *L, p_buffer buf) {
74/*-------------------------------------------------------------------------*\ 69/*-------------------------------------------------------------------------*\
75* object:send() interface 70* object:send() interface
76\*-------------------------------------------------------------------------*/ 71\*-------------------------------------------------------------------------*/
77LUASOCKET_PRIVATE int buffer_meth_send(lua_State *L, p_buffer buf) { 72int buffer_meth_send(lua_State *L, p_buffer buf) {
78 int top = lua_gettop(L); 73 int top = lua_gettop(L);
79 int err = IO_DONE; 74 int err = IO_DONE;
80 size_t size = 0, sent = 0; 75 size_t size = 0, sent = 0;
@@ -107,7 +102,7 @@ LUASOCKET_PRIVATE int buffer_meth_send(lua_State *L, p_buffer buf) {
107/*-------------------------------------------------------------------------*\ 102/*-------------------------------------------------------------------------*\
108* object:receive() interface 103* object:receive() interface
109\*-------------------------------------------------------------------------*/ 104\*-------------------------------------------------------------------------*/
110LUASOCKET_PRIVATE int buffer_meth_receive(lua_State *L, p_buffer buf) { 105int buffer_meth_receive(lua_State *L, p_buffer buf) {
111 int err = IO_DONE, top = lua_gettop(L); 106 int err = IO_DONE, top = lua_gettop(L);
112 luaL_Buffer b; 107 luaL_Buffer b;
113 size_t size; 108 size_t size;
@@ -156,7 +151,7 @@ LUASOCKET_PRIVATE int buffer_meth_receive(lua_State *L, p_buffer buf) {
156/*-------------------------------------------------------------------------*\ 151/*-------------------------------------------------------------------------*\
157* Determines if there is any data in the read buffer 152* Determines if there is any data in the read buffer
158\*-------------------------------------------------------------------------*/ 153\*-------------------------------------------------------------------------*/
159LUASOCKET_PRIVATE int buffer_isempty(p_buffer buf) { 154int buffer_isempty(p_buffer buf) {
160 return buf->first >= buf->last; 155 return buf->first >= buf->last;
161} 156}
162 157
diff --git a/src/buffer.h b/src/buffer.h
index 1281bb3..4218ea0 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -15,8 +15,7 @@
15* The module is built on top of the I/O abstraction defined in io.h and the 15* The module is built on top of the I/O abstraction defined in io.h and the
16* timeout management is done with the timeout.h interface. 16* timeout management is done with the timeout.h interface.
17\*=========================================================================*/ 17\*=========================================================================*/
18#include "lua.h" 18#include "luasocket.h"
19
20#include "io.h" 19#include "io.h"
21#include "timeout.h" 20#include "timeout.h"
22 21
@@ -34,12 +33,16 @@ typedef struct t_buffer_ {
34} t_buffer; 33} t_buffer;
35typedef t_buffer *p_buffer; 34typedef t_buffer *p_buffer;
36 35
36#pragma GCC visibility push(hidden)
37
37int buffer_open(lua_State *L); 38int buffer_open(lua_State *L);
38void buffer_init(p_buffer buf, p_io io, p_timeout tm); 39void buffer_init(p_buffer buf, p_io io, p_timeout tm);
39int buffer_meth_send(lua_State *L, p_buffer buf);
40int buffer_meth_receive(lua_State *L, p_buffer buf);
41int buffer_meth_getstats(lua_State *L, p_buffer buf); 40int buffer_meth_getstats(lua_State *L, p_buffer buf);
42int buffer_meth_setstats(lua_State *L, p_buffer buf); 41int buffer_meth_setstats(lua_State *L, p_buffer buf);
42int buffer_meth_send(lua_State *L, p_buffer buf);
43int buffer_meth_receive(lua_State *L, p_buffer buf);
43int buffer_isempty(p_buffer buf); 44int buffer_isempty(p_buffer buf);
44 45
46#pragma GCC visibility pop
47
45#endif /* BUF_H */ 48#endif /* BUF_H */