Mercurial > spidermonkey-playground
comparison server_socket.cpp @ 43:cdfbd4b71027
Added listen() method to ServerSocket().
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Wed, 24 Jun 2009 14:12:59 -0700 |
parents | 68d2a675a33a |
children | 1fd58132b533 |
comparison
equal
deleted
inserted
replaced
42:68d2a675a33a | 43:cdfbd4b71027 |
---|---|
83 NULL, // iterator | 83 NULL, // iterator |
84 NULL, // wrapper | 84 NULL, // wrapper |
85 JSCLASS_NO_RESERVED_MEMBERS | 85 JSCLASS_NO_RESERVED_MEMBERS |
86 }; | 86 }; |
87 | 87 |
88 JSBool listen(JSContext *cx, JSObject *obj, uintN argc, | |
89 jsval *argv, jsval *rval) | |
90 { | |
91 PRInt32 backlog; | |
92 | |
93 if (!JS_ConvertArguments(cx, argc, argv, "i", &backlog)) | |
94 return JS_FALSE; | |
95 | |
96 PRFileDesc *fd; | |
97 if (!getSocket(cx, obj, &fd)) | |
98 return JS_FALSE; | |
99 | |
100 PRStatus result = PR_Listen(fd, backlog); | |
101 | |
102 if (result != PR_SUCCESS) { | |
103 JS_ReportError(cx, "Listen failed."); | |
104 return JS_FALSE; | |
105 } | |
106 | |
107 *rval = JSVAL_VOID; | |
108 return JS_TRUE; | |
109 } | |
110 | |
88 JSBool bind(JSContext *cx, JSObject *obj, uintN argc, | 111 JSBool bind(JSContext *cx, JSObject *obj, uintN argc, |
89 jsval *argv, jsval *rval) | 112 jsval *argv, jsval *rval) |
90 { | 113 { |
91 const char *addrStr; | 114 const char *addrStr; |
92 PRUint16 port; | 115 PRUint16 port; |
117 *rval = JSVAL_VOID; | 140 *rval = JSVAL_VOID; |
118 return JS_TRUE; | 141 return JS_TRUE; |
119 } | 142 } |
120 | 143 |
121 static JSFunctionSpec methods[] = { | 144 static JSFunctionSpec methods[] = { |
122 JS_FS("bind", bind, 1, 0, 0), | 145 JS_FS("bind", bind, 2, 0, 0), |
146 JS_FS("listen", listen, 1, 0, 0), | |
123 JS_FS_END | 147 JS_FS_END |
124 }; | 148 }; |
125 | 149 |
126 JSBool createServerSocket(JSContext *cx, JSObject *obj, uintN argc, | 150 JSBool createServerSocket(JSContext *cx, JSObject *obj, uintN argc, |
127 jsval *argv, jsval *rval) | 151 jsval *argv, jsval *rval) |