recvBuffer.used = 0;
}
-function Socket (peerInfo) {
- process.EventEmitter.call(this);
-
- var self = this;
-
+function initSocket (self) {
self._readWatcher = ioWatchers.alloc();
self._readWatcher.callback = function () {
// If this is the first recv (recvBuffer doesn't exist) or we've used up
self._writeWatcher = ioWatchers.alloc();
self._writeWatcher.callback = self._doFlush;
self.writable = false;
+}
+
+function Socket (peerInfo) {
+ process.EventEmitter.call(this);
if (peerInfo) {
- self.fd = peerInfo.fd;
- self.remoteAddress = peerInfo.remoteAddress;
- self.remotePort = peerInfo.remotePort;
+ initSocket(this);
- self._readWatcher.set(self.fd, true, false);
- self._readWatcher.start();
- self.readable = true;
+ this.fd = peerInfo.fd;
+ this.remoteAddress = peerInfo.remoteAddress;
+ this.remotePort = peerInfo.remotePort;
- self._writeWatcher.set(self.fd, false, true);
- self.writable = true;
+ this._readWatcher.set(this.fd, true, false);
+ this._readWatcher.start();
+ this.readable = true;
+
+ this._writeWatcher.set(this.fd, false, true);
+ this.writable = true;
}
};
process.inherits(Socket, process.EventEmitter);
// stream.connect(80, 'nodejs.org') - TCP connect to port 80 on nodejs.org
// stream.connect('/tmp/socket') - UNIX connect to socket specified by path
Socket.prototype.connect = function () {
+ initSocket(this);
+
var self = this;
if (self.fd) throw new Error('Socket already opened');