Skip to content
Snippets Groups Projects
Commit 5cfc50e5 authored by rswindell's avatar rswindell
Browse files

New is_writeable property (read-only),TRUE if/when the socket writeable.

parent 2da85302
No related branches found
No related tags found
No related merge requests found
...@@ -969,6 +969,7 @@ js_poll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ...@@ -969,6 +969,7 @@ js_poll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
enum { enum {
SOCK_PROP_LAST_ERROR SOCK_PROP_LAST_ERROR
,SOCK_PROP_IS_CONNECTED ,SOCK_PROP_IS_CONNECTED
,SOCK_PROP_IS_WRITEABLE
,SOCK_PROP_DATA_WAITING ,SOCK_PROP_DATA_WAITING
,SOCK_PROP_NREAD ,SOCK_PROP_NREAD
,SOCK_PROP_DEBUG ,SOCK_PROP_DEBUG
...@@ -1043,6 +1044,7 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) ...@@ -1043,6 +1044,7 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
jsint tiny; jsint tiny;
ulong cnt; ulong cnt;
BOOL rd; BOOL rd;
BOOL wr;
private_t* p; private_t* p;
socklen_t addr_len; socklen_t addr_len;
SOCKADDR_IN addr; SOCKADDR_IN addr;
...@@ -1069,6 +1071,10 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp) ...@@ -1069,6 +1071,10 @@ static JSBool js_socket_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
else else
*vp = BOOLEAN_TO_JSVAL(socket_check(p->sock,NULL,NULL,0)); *vp = BOOLEAN_TO_JSVAL(socket_check(p->sock,NULL,NULL,0));
break; break;
case SOCK_PROP_IS_WRITEABLE:
socket_check(p->sock,NULL,&wr,0);
*vp = BOOLEAN_TO_JSVAL(wr);
break;
case SOCK_PROP_DATA_WAITING: case SOCK_PROP_DATA_WAITING:
socket_check(p->sock,&rd,NULL,0); socket_check(p->sock,&rd,NULL,0);
*vp = BOOLEAN_TO_JSVAL(rd); *vp = BOOLEAN_TO_JSVAL(rd);
...@@ -1147,6 +1153,7 @@ static struct JSPropertySpec js_socket_properties[] = { ...@@ -1147,6 +1153,7 @@ static struct JSPropertySpec js_socket_properties[] = {
{ "error" ,SOCK_PROP_LAST_ERROR ,SOCK_PROP_FLAGS, NULL,NULL}, { "error" ,SOCK_PROP_LAST_ERROR ,SOCK_PROP_FLAGS, NULL,NULL},
{ "last_error" ,SOCK_PROP_LAST_ERROR ,JSPROP_READONLY, NULL,NULL}, /* alias */ { "last_error" ,SOCK_PROP_LAST_ERROR ,JSPROP_READONLY, NULL,NULL}, /* alias */
{ "is_connected" ,SOCK_PROP_IS_CONNECTED ,SOCK_PROP_FLAGS, NULL,NULL}, { "is_connected" ,SOCK_PROP_IS_CONNECTED ,SOCK_PROP_FLAGS, NULL,NULL},
{ "is_writeable" ,SOCK_PROP_IS_WRITEABLE ,SOCK_PROP_FLAGS, NULL,NULL},
{ "data_waiting" ,SOCK_PROP_DATA_WAITING ,SOCK_PROP_FLAGS, NULL,NULL}, { "data_waiting" ,SOCK_PROP_DATA_WAITING ,SOCK_PROP_FLAGS, NULL,NULL},
{ "nread" ,SOCK_PROP_NREAD ,SOCK_PROP_FLAGS, NULL,NULL}, { "nread" ,SOCK_PROP_NREAD ,SOCK_PROP_FLAGS, NULL,NULL},
{ "debug" ,SOCK_PROP_DEBUG ,JSPROP_ENUMERATE, NULL,NULL}, { "debug" ,SOCK_PROP_DEBUG ,JSPROP_ENUMERATE, NULL,NULL},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment