@@ -12,14 +12,15 @@ const bench = common.createBenchmark(main, {
12
12
len : [ 102400 , 1024 * 1024 * 16 ] ,
13
13
type : [ 'utf' , 'asc' , 'buf' ] ,
14
14
dur : [ 5 ]
15
- } ) ;
16
-
17
- const { TCP , constants : TCPConstants } = process . binding ( 'tcp_wrap' ) ;
18
- const TCPConnectWrap = process . binding ( 'tcp_wrap' ) . TCPConnectWrap ;
19
- const WriteWrap = process . binding ( 'stream_wrap' ) . WriteWrap ;
20
- const PORT = common . PORT ;
15
+ } , { flags : [ '--expose-internals' , '--no-warnings' ] } ) ;
21
16
22
17
function main ( { dur, len, type } ) {
18
+ const { internalBinding } = require ( 'internal/test/binding' ) ;
19
+ const { TCP , constants : TCPConstants } = process . binding ( 'tcp_wrap' ) ;
20
+ const { TCPConnectWrap } = process . binding ( 'tcp_wrap' ) ;
21
+ const { WriteWrap } = internalBinding ( 'stream_wrap' ) ;
22
+ const PORT = common . PORT ;
23
+
23
24
const serverHandle = new TCP ( TCPConstants . SERVER ) ;
24
25
var err = serverHandle . bind ( '127.0.0.1' , PORT ) ;
25
26
if ( err )
@@ -58,71 +59,70 @@ function main({ dur, len, type }) {
58
59
} ;
59
60
60
61
client ( type , len ) ;
61
- }
62
-
63
62
64
- function fail ( err , syscall ) {
65
- throw util . _errnoException ( err , syscall ) ;
66
- }
67
-
68
- function client ( type , len ) {
69
- var chunk ;
70
- switch ( type ) {
71
- case 'buf' :
72
- chunk = Buffer . alloc ( len , 'x' ) ;
73
- break ;
74
- case 'utf' :
75
- chunk = 'ü' . repeat ( len / 2 ) ;
76
- break ;
77
- case 'asc' :
78
- chunk = 'x' . repeat ( len ) ;
79
- break ;
80
- default :
81
- throw new Error ( `invalid type: ${ type } ` ) ;
63
+ function fail ( err , syscall ) {
64
+ throw util . _errnoException ( err , syscall ) ;
82
65
}
83
66
84
- const clientHandle = new TCP ( TCPConstants . SOCKET ) ;
85
- const connectReq = new TCPConnectWrap ( ) ;
86
- const err = clientHandle . connect ( connectReq , '127.0.0.1' , PORT ) ;
87
-
88
- if ( err )
89
- fail ( err , 'connect' ) ;
90
-
91
- clientHandle . readStart ( ) ;
92
-
93
- connectReq . oncomplete = function ( err ) {
94
- if ( err )
95
- fail ( err , 'connect' ) ;
96
-
97
- while ( clientHandle . writeQueueSize === 0 )
98
- write ( ) ;
99
- } ;
100
-
101
- function write ( ) {
102
- const writeReq = new WriteWrap ( ) ;
103
- writeReq . oncomplete = afterWrite ;
104
- var err ;
67
+ function client ( type , len ) {
68
+ var chunk ;
105
69
switch ( type ) {
106
70
case 'buf' :
107
- err = clientHandle . writeBuffer ( writeReq , chunk ) ;
71
+ chunk = Buffer . alloc ( len , 'x' ) ;
108
72
break ;
109
73
case 'utf' :
110
- err = clientHandle . writeUtf8String ( writeReq , chunk ) ;
74
+ chunk = 'ü' . repeat ( len / 2 ) ;
111
75
break ;
112
76
case 'asc' :
113
- err = clientHandle . writeAsciiString ( writeReq , chunk ) ;
77
+ chunk = 'x' . repeat ( len ) ;
114
78
break ;
79
+ default :
80
+ throw new Error ( `invalid type: ${ type } ` ) ;
115
81
}
116
82
117
- if ( err )
118
- fail ( err , 'write' ) ;
119
- }
83
+ const clientHandle = new TCP ( TCPConstants . SOCKET ) ;
84
+ const connectReq = new TCPConnectWrap ( ) ;
85
+ const err = clientHandle . connect ( connectReq , '127.0.0.1' , PORT ) ;
120
86
121
- function afterWrite ( err , handle ) {
122
87
if ( err )
123
- fail ( err , 'write' ) ;
88
+ fail ( err , 'connect' ) ;
89
+
90
+ clientHandle . readStart ( ) ;
91
+
92
+ connectReq . oncomplete = function ( err ) {
93
+ if ( err )
94
+ fail ( err , 'connect' ) ;
124
95
125
- while ( clientHandle . writeQueueSize === 0 )
126
- write ( ) ;
96
+ while ( clientHandle . writeQueueSize === 0 )
97
+ write ( ) ;
98
+ } ;
99
+
100
+ function write ( ) {
101
+ const writeReq = new WriteWrap ( ) ;
102
+ writeReq . oncomplete = afterWrite ;
103
+ var err ;
104
+ switch ( type ) {
105
+ case 'buf' :
106
+ err = clientHandle . writeBuffer ( writeReq , chunk ) ;
107
+ break ;
108
+ case 'utf' :
109
+ err = clientHandle . writeUtf8String ( writeReq , chunk ) ;
110
+ break ;
111
+ case 'asc' :
112
+ err = clientHandle . writeAsciiString ( writeReq , chunk ) ;
113
+ break ;
114
+ }
115
+
116
+ if ( err )
117
+ fail ( err , 'write' ) ;
118
+ }
119
+
120
+ function afterWrite ( err , handle ) {
121
+ if ( err )
122
+ fail ( err , 'write' ) ;
123
+
124
+ while ( clientHandle . writeQueueSize === 0 )
125
+ write ( ) ;
126
+ }
127
127
}
128
128
}
0 commit comments