MCPcopy Create free account
hub / github.com/nodejs/node / client

Function client

benchmark/net/tcp-raw-c2s.js:72–132  ·  view source on GitHub ↗
(type, len)

Source from the content-addressed store, hash-verified

70 }
71
72 function client(type, len) {
73 let chunk;
74 switch (type) {
75 case 'buf':
76 chunk = Buffer.alloc(len, 'x');
77 break;
78 case 'utf':
79 chunk = 'ü'.repeat(len / 2);
80 break;
81 case 'asc':
82 chunk = 'x'.repeat(len);
83 break;
84 default:
85 throw new Error(`invalid type: ${type}`);
86 }
87
88 const clientHandle = new TCP(TCPConstants.SOCKET);
89 const connectReq = new TCPConnectWrap();
90 const err = clientHandle.connect(connectReq, '127.0.0.1', PORT);
91
92 if (err)
93 fail(err, 'connect');
94
95 clientHandle.readStart();
96
97 connectReq.oncomplete = function(err) {
98 if (err)
99 fail(err, 'connect');
100
101 while (clientHandle.writeQueueSize === 0)
102 write();
103 };
104
105 function write() {
106 const writeReq = new WriteWrap();
107 writeReq.oncomplete = afterWrite;
108 let err;
109 switch (type) {
110 case 'buf':
111 err = clientHandle.writeBuffer(writeReq, chunk);
112 break;
113 case 'utf':
114 err = clientHandle.writeUtf8String(writeReq, chunk);
115 break;
116 case 'asc':
117 err = clientHandle.writeAsciiString(writeReq, chunk);
118 break;
119 }
120
121 if (err)
122 fail(err, 'write');
123 }
124
125 function afterWrite(err, handle) {
126 if (err)
127 fail(err, 'write');
128
129 while (clientHandle.writeQueueSize === 0)

Callers 1

mainFunction · 0.70

Calls 5

allocMethod · 0.80
failFunction · 0.70
writeFunction · 0.70
connectMethod · 0.65
readStartMethod · 0.45

Tested by

no test coverage detected