File: frontend.js

package info (click to toggle)
python-autobahn 17.10.1%2Bdfsg1-7
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 4,452 kB
  • sloc: python: 22,598; javascript: 2,705; makefile: 497; sh: 3
file content (49 lines) | stat: -rw-r--r-- 1,103 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
try {
   var autobahn = require('autobahn');
} catch (e) {
   // when running in browser, AutobahnJS will
   // be included without a module system
}

var connection = new autobahn.Connection({
   url: 'ws://127.0.0.1:8080/ws',
   realm: 'crossbardemo'}
);

connection.onopen = function (session) {

   var runs = 0;

   function test() {

      var received = 0;
      var sub = null;

      function on_event(args) {
         console.log("Got event", args[0]);
         received += 1;
         if (received > 5) {
            runs += 1;
            if (runs > 1) {
               console.log("Closing ..");
               connection.close();
            } else {
               sub.unsubscribe();
               console.log("Unsubscribed .. continue in 2s ..");
               setTimeout(test, 2000);
            }
         }
      }

      session.subscribe('com.myapp.topic1', on_event).then(
         function (subscription) {
            sub = subscription;
            console.log("Subscribed with subscription ID " + subscription.id);
         }
      );
   }

   test();
};

connection.open();