1
1
'use strict' ;
2
2
const common = require ( '../common' ) ;
3
- const NUM_WORKERS = 4 ;
4
- const PACKETS_PER_WORKER = 10 ;
3
+ var NUM_WORKERS = 4 ;
4
+ var PACKETS_PER_WORKER = 10 ;
5
5
6
- const assert = require ( 'assert' ) ;
7
- const cluster = require ( 'cluster' ) ;
8
- const dgram = require ( 'dgram' ) ;
6
+ var assert = require ( 'assert' ) ;
7
+ var cluster = require ( 'cluster' ) ;
8
+ var dgram = require ( 'dgram' ) ;
9
9
10
10
11
11
if ( common . isWindows ) {
@@ -28,13 +28,13 @@ function master() {
28
28
cluster . fork ( ) ;
29
29
30
30
// Wait until all workers are listening.
31
- cluster . on ( 'listening' , common . mustCall ( ( ) => {
31
+ cluster . on ( 'listening' , function ( ) {
32
32
if ( ++ listening < NUM_WORKERS )
33
33
return ;
34
34
35
35
// Start sending messages.
36
- const buf = Buffer . from ( 'hello world' ) ;
37
- const socket = dgram . createSocket ( 'udp4' ) ;
36
+ var buf = Buffer . from ( 'hello world' ) ;
37
+ var socket = dgram . createSocket ( 'udp4' ) ;
38
38
var sent = 0 ;
39
39
doSend ( ) ;
40
40
@@ -47,28 +47,31 @@ function master() {
47
47
if ( sent < NUM_WORKERS * PACKETS_PER_WORKER ) {
48
48
doSend ( ) ;
49
49
} else {
50
+ console . log ( 'master sent %d packets' , sent ) ;
50
51
socket . close ( ) ;
51
52
}
52
53
}
53
- } , NUM_WORKERS ) ) ;
54
+ } ) ;
54
55
55
56
// Set up event handlers for every worker. Each worker sends a message when
56
57
// it has received the expected number of packets. After that it disconnects.
57
- for ( const key in cluster . workers ) {
58
+ for ( var key in cluster . workers ) {
58
59
if ( cluster . workers . hasOwnProperty ( key ) )
59
60
setupWorker ( cluster . workers [ key ] ) ;
60
61
}
61
62
62
63
function setupWorker ( worker ) {
63
64
var received = 0 ;
64
65
65
- worker . on ( 'message' , common . mustCall ( ( msg ) => {
66
+ worker . on ( 'message' , function ( msg ) {
66
67
received = msg . received ;
67
- } ) ) ;
68
+ console . log ( 'worker %d received %d packets' , worker . id , received ) ;
69
+ } ) ;
68
70
69
- worker . on ( 'disconnect' , common . mustCall ( ( ) => {
70
- assert . strictEqual ( received , PACKETS_PER_WORKER ) ;
71
- } ) ) ;
71
+ worker . on ( 'disconnect' , function ( ) {
72
+ assert ( received === PACKETS_PER_WORKER ) ;
73
+ console . log ( 'worker %d disconnected' , worker . id ) ;
74
+ } ) ;
72
75
}
73
76
}
74
77
@@ -79,15 +82,15 @@ function worker() {
79
82
// Create udp socket and start listening.
80
83
var socket = dgram . createSocket ( 'udp4' ) ;
81
84
82
- socket . on ( 'message' , common . mustCall ( ( data , info ) => {
85
+ socket . on ( 'message' , function ( data , info ) {
83
86
received ++ ;
84
87
85
88
// Every 10 messages, notify the master.
86
- if ( received === PACKETS_PER_WORKER ) {
89
+ if ( received == PACKETS_PER_WORKER ) {
87
90
process . send ( { received : received } ) ;
88
91
process . disconnect ( ) ;
89
92
}
90
- } , PACKETS_PER_WORKER ) ) ;
93
+ } ) ;
91
94
92
95
socket . bind ( common . PORT ) ;
93
96
}
0 commit comments