File tree Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -1354,6 +1354,30 @@ func (soc *Socket) Monitor(addr string, events Event) error {
1354
1354
return nil
1355
1355
}
1356
1356
1357
+ /*
1358
+ Return a connected PAIR socket ready to receive the event notifications.
1359
+ */
1360
+ func GetMonitorSocket (sock * Socket , events Event ) (monitor_sock * Socket , err error ) {
1361
+ fd , err := sock .GetFd ()
1362
+ if err != nil {
1363
+ return
1364
+ }
1365
+ addr := fmt .Sprintf ("inproc://monitor.s-%d" , fd )
1366
+ err = sock .Monitor (addr , events )
1367
+ if err != nil {
1368
+ return
1369
+ }
1370
+ monitor_sock , err = NewSocket (PAIR )
1371
+ if err != nil {
1372
+ return
1373
+ }
1374
+ err = monitor_sock .Connect (addr )
1375
+ if err != nil {
1376
+ return
1377
+ }
1378
+ return
1379
+ }
1380
+
1357
1381
/*
1358
1382
Receive a message part from a socket interpreted as an event.
1359
1383
Original file line number Diff line number Diff line change @@ -1230,6 +1230,30 @@ func (soc *Socket) Monitor(addr string, events Event) error {
1230
1230
return nil
1231
1231
}
1232
1232
1233
+ /*
1234
+ Return a connected PAIR socket ready to receive the event notifications.
1235
+ */
1236
+ func GetMonitorSocket (sock * Socket , events Event ) (monitor_sock * Socket , err error ) {
1237
+ fd , err := sock .GetFd ()
1238
+ if err != nil {
1239
+ return
1240
+ }
1241
+ addr := fmt .Sprintf ("inproc://monitor.s-%d" , fd )
1242
+ err = sock .Monitor (addr , events )
1243
+ if err != nil {
1244
+ return
1245
+ }
1246
+ monitor_sock , err = NewSocket (PAIR )
1247
+ if err != nil {
1248
+ return
1249
+ }
1250
+ err = monitor_sock .Connect (addr )
1251
+ if err != nil {
1252
+ return
1253
+ }
1254
+ return
1255
+ }
1256
+
1233
1257
/*
1234
1258
Receive a message part from a socket interpreted as an event.
1235
1259
You can’t perform that action at this time.
0 commit comments