Changeset - 6044e527d795
[Not reviewed]
default
0 2 0
Drew Perttula - 9 years ago 2016-06-05 03:39:39
drewp@bigasterisk.com
ping loop (and some lines from the next patch). My setup seemed to be dropping WS after like 30 sec.
Ignore-this: 7d2150afcf21628882d78914898c04d4
2 files changed with 14 insertions and 0 deletions:
0 comments (0 inline, 0 general)
bin/rdfdb
Show inline comments
 
@@ -417,6 +417,9 @@ class WebsocketClient(cyclone.websocket.
 
            Failure(WebsocketDisconnect(reason)), self.wsClient)
 

	
 
    def messageReceived(self, message):
 
        if message == 'PING':
 
            self.sendMessage('PONG')
 
            return
 
        log.info("got message from %r: %s", self.wsClient, message)
 
        p = Patch(jsonRepr=message)
 
        p.senderUpdateUri = self.wsClient.updateUri
light9/web/graph.coffee
Show inline comments
 
@@ -77,6 +77,8 @@ class window.SyncedGraph
 

	
 
    @ws.onopen = =>
 
      log('connected to', fullUrl)
 
      @resetStore()
 
      @pingLoop()
 

	
 
    @ws.onerror = (e) =>
 
      log('ws error ' + e)
 
@@ -85,8 +87,17 @@ class window.SyncedGraph
 
      log('ws close')
 

	
 
    @ws.onmessage = (evt) =>
 
      if evt.data == 'PONG'
 
        return
 
      @onMessage(JSON.parse(evt.data))
 

	
 
  pingLoop: () ->
 
    if @ws.readyState == @ws.OPEN
 
      @ws.send('PING')
 
      
 
      clearTimeout(@_pingLoopTimeout) if @_pingLoopTimeout?
 
      @_pingLoopTimeout = setTimeout(@pingLoop.bind(@), 10000)
 

	
 
  onMessage: (msg) ->
 
    log('from rdfdb: ', msg)
 
    
0 comments (0 inline, 0 general)