diff options
| author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-04-20 18:57:47 +0000 |
|---|---|---|
| committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2005-04-20 18:57:47 +0000 |
| commit | 2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a (patch) | |
| tree | 0f088bb442de1dbeba894e37da64de7f2dec166f /src/tcp.c | |
| parent | 693a201db6052310206ec69fbc940c013267d866 (diff) | |
| download | luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.tar.gz luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.tar.bz2 luasocket-2a00a5ad50f2ac4ed19fa6a84c59f539076e8c2a.zip | |
Trying to get non-blocking connect to work.
Diffstat (limited to 'src/tcp.c')
| -rw-r--r-- | src/tcp.c | 23 |
1 files changed, 1 insertions, 22 deletions
| @@ -20,7 +20,6 @@ | |||
| 20 | \*=========================================================================*/ | 20 | \*=========================================================================*/ |
| 21 | static int global_create(lua_State *L); | 21 | static int global_create(lua_State *L); |
| 22 | static int meth_connect(lua_State *L); | 22 | static int meth_connect(lua_State *L); |
| 23 | static int meth_connected(lua_State *L); | ||
| 24 | static int meth_listen(lua_State *L); | 23 | static int meth_listen(lua_State *L); |
| 25 | static int meth_bind(lua_State *L); | 24 | static int meth_bind(lua_State *L); |
| 26 | static int meth_send(lua_State *L); | 25 | static int meth_send(lua_State *L); |
| @@ -46,7 +45,6 @@ static luaL_reg tcp[] = { | |||
| 46 | {"bind", meth_bind}, | 45 | {"bind", meth_bind}, |
| 47 | {"close", meth_close}, | 46 | {"close", meth_close}, |
| 48 | {"connect", meth_connect}, | 47 | {"connect", meth_connect}, |
| 49 | {"connected", meth_connected}, | ||
| 50 | {"dirty", meth_dirty}, | 48 | {"dirty", meth_dirty}, |
| 51 | {"getfd", meth_getfd}, | 49 | {"getfd", meth_getfd}, |
| 52 | {"getpeername", meth_getpeername}, | 50 | {"getpeername", meth_getpeername}, |
| @@ -226,25 +224,6 @@ static int meth_connect(lua_State *L) | |||
| 226 | return 1; | 224 | return 1; |
| 227 | } | 225 | } |
| 228 | 226 | ||
| 229 | static int meth_connected(lua_State *L) | ||
| 230 | { | ||
| 231 | p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{master}", 1); | ||
| 232 | int err; | ||
| 233 | t_tm tm; | ||
| 234 | tm_init(&tm, 0.1, -1); | ||
| 235 | tm_markstart(&tm); | ||
| 236 | err = sock_connected(&tcp->sock, &tm); | ||
| 237 | if (err != IO_DONE) { | ||
| 238 | lua_pushnil(L); | ||
| 239 | lua_pushstring(L, sock_strerror(err)); | ||
| 240 | return 2; | ||
| 241 | } | ||
| 242 | /* turn master object into a client object */ | ||
| 243 | aux_setclass(L, "tcp{client}", 1); | ||
| 244 | lua_pushnumber(L, 1); | ||
| 245 | return 1; | ||
| 246 | } | ||
| 247 | |||
| 248 | /*-------------------------------------------------------------------------*\ | 227 | /*-------------------------------------------------------------------------*\ |
| 249 | * Closes socket used by object | 228 | * Closes socket used by object |
| 250 | \*-------------------------------------------------------------------------*/ | 229 | \*-------------------------------------------------------------------------*/ |
| @@ -308,7 +287,7 @@ error: | |||
| 308 | \*-------------------------------------------------------------------------*/ | 287 | \*-------------------------------------------------------------------------*/ |
| 309 | static int meth_getpeername(lua_State *L) | 288 | static int meth_getpeername(lua_State *L) |
| 310 | { | 289 | { |
| 311 | p_tcp tcp = (p_tcp) aux_checkclass(L, "tcp{client}", 1); | 290 | p_tcp tcp = (p_tcp) aux_checkgroup(L, "tcp{any}", 1); |
| 312 | return inet_meth_getpeername(L, &tcp->sock); | 291 | return inet_meth_getpeername(L, &tcp->sock); |
| 313 | } | 292 | } |
| 314 | 293 | ||
