} \
node_dtrace_connection_t conn; \
Local<Object> _##conn = Local<Object>::Cast(arg); \
- SLURP_INT(_##conn, fd, &conn.fd); \
+ Local<Object> _handle = (_##conn)->Get(String::New("_handle"))->ToObject(); \
+ SLURP_INT(_handle, fd, &conn.fd); \
SLURP_STRING(_##conn, remoteAddress, &conn.remote); \
SLURP_INT(_##conn, remotePort, &conn.port); \
SLURP_INT(_##conn, bufferSize, &conn.buffered);
NODE_NET_SERVER_CONNECTION(conn.fd, conn.remote, conn.port, \
conn.buffered);
#else
- NODE_NET_SERVER_CONNECTION(&conn, conn.remote, conn.port);
+ NODE_NET_SERVER_CONNECTION(&conn, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
#ifdef HAVE_SYSTEMTAP
NODE_NET_STREAM_END(conn.fd, conn.remote, conn.port, conn.buffered);
#else
- NODE_NET_STREAM_END(&conn, conn.remote, conn.port);
+ NODE_NET_STREAM_END(&conn, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
"argument 1 to be number of bytes"))));
}
int nbytes = args[1]->Int32Value();
- NODE_NET_SOCKET_READ(&conn, nbytes, conn.remote, conn.port);
+ NODE_NET_SOCKET_READ(&conn, nbytes, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
"argument 1 to be number of bytes"))));
}
int nbytes = args[1]->Int32Value();
- NODE_NET_SOCKET_WRITE(&conn, nbytes, conn.remote, conn.port);
+ NODE_NET_SOCKET_WRITE(&conn, nbytes, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
conn.buffered);
#else
NODE_HTTP_SERVER_REQUEST(&req, &conn, conn.remote, conn.port, req.method, \
- req.url);
+ req.url, conn.fd);
#endif
return Undefined();
}
#ifdef HAVE_SYSTEMTAP
NODE_HTTP_SERVER_RESPONSE(conn.fd, conn.remote, conn.port, conn.buffered);
#else
- NODE_HTTP_SERVER_RESPONSE(&conn, conn.remote, conn.port);
+ NODE_HTTP_SERVER_RESPONSE(&conn, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
conn.buffered);
#else
NODE_HTTP_CLIENT_REQUEST(&req, &conn, conn.remote, conn.port, req.method, \
- req.url);
+ req.url, conn.fd);
#endif
return Undefined();
}
#ifdef HAVE_SYSTEMTAP
NODE_HTTP_CLIENT_RESPONSE(conn.fd, conn.remote, conn.port, conn.buffered);
#else
- NODE_HTTP_CLIENT_RESPONSE(&conn, conn.remote, conn.port);
+ NODE_HTTP_CLIENT_RESPONSE(&conn, conn.remote, conn.port, conn.fd);
#endif
return Undefined();
provider node {
probe net__server__connection(node_dtrace_connection_t *c,
- const char *a, int p) : (node_connection_t *c, string a, int p);
+ const char *a, int p, int fd) : (node_connection_t *c, string a, int p,
+ int fd);
probe net__stream__end(node_dtrace_connection_t *c, const char *a,
- int p) : (node_connection_t *c, string a, int p);
+ int p, int fd) : (node_connection_t *c, string a, int p, int fd);
probe net__socket__read(node_dtrace_connection_t *c, int b,
- const char *a, int p) : (node_connection_t *c, int b, string a, int p);
+ const char *a, int p, int fd) : (node_connection_t *c, int b, string a,
+ int p, int fd);
probe net__socket__write(node_dtrace_connection_t *c, int b,
- const char *a, int p) : (node_connection_t *c, int b, string a, int p);
+ const char *a, int p, int fd) : (node_connection_t *c, int b, string a,
+ int p, int fd);
probe http__server__request(node_dtrace_http_server_request_t *h,
node_dtrace_connection_t *c, const char *a, int p, const char *m,
- const char *u) : (node_http_request_t *h, node_connection_t *c,
- string a, int p, string m, string u);
+ const char *u, int fd) : (node_http_request_t *h, node_connection_t *c,
+ string a, int p, string m, string u, int fd);
probe http__server__response(node_dtrace_connection_t *c, const char *a,
- int p) : (node_connection_t *c, string a, int p);
+ int p, int fd) : (node_connection_t *c, string a, int p, int fd);
probe http__client__request(node_dtrace_http_client_request_t *h,
node_dtrace_connection_t *c, const char *a, int p, const char *m,
- const char *u) : (node_http_request_t *h, node_connection_t *c, string a,
- int p, string m, string u);
+ const char *u, int fd) : (node_http_request_t *h, node_connection_t *c,
+ string a, int p, string m, string u, int fd);
probe http__client__response(node_dtrace_connection_t *c, const char *a,
- int p) : (node_connection_t *c, string a, int p);
+ int p, int fd) : (node_connection_t *c, string a, int p, int fd);
probe gc__start(int t, int f);
probe gc__done(int t, int f);
};