MCPcopy Create free account
hub / github.com/apache/thrift / l_socket_create

Function l_socket_create

lib/lua/src/luasocket.c:203–226  ·  view source on GitHub ↗

sock,err create(bind_host, bind_port) sock,err create(bind_host) -> any port sock,err create() -> any port on localhost

Source from the content-addressed store, hash-verified

201// sock,err create(bind_host) -> any port
202// sock,err create() -> any port on localhost
203static int l_socket_create(lua_State *L) {
204 const char *err;
205 t_socket sock;
206 const char *addr = lua_tostring(L, 1);
207 if (!addr) {
208 addr = DEFAULT_HOST;
209 }
210 unsigned short port = lua_tonumber(L, 2);
211 err = tcp_create(&sock);
212 if (!err) {
213 err = tcp_bind(&sock, addr, port); // bind on create
214 if (err) {
215 tcp_destroy(&sock);
216 } else {
217 p_tcp tcp = (p_tcp) lua_newuserdata(L, sizeof(t_tcp));
218 settype(L, -2, SOCKET_GENERIC);
219 socket_setnonblocking(&sock);
220 tcp->sock = sock;
221 tcp->timeout = 0;
222 return 1; // Return userdata
223 }
224 }
225 LUA_CHECK_RETURN(L, err);
226}
227
228// destroy()
229static int l_socket_destroy(lua_State *L) {

Callers

nothing calls this directly

Calls 5

tcp_createFunction · 0.85
tcp_bindFunction · 0.85
tcp_destroyFunction · 0.85
settypeFunction · 0.85
socket_setnonblockingFunction · 0.85

Tested by

no test coverage detected