Skip to content

Instantly share code, notes, and snippets.

@luctrudeau
Created July 2, 2015 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luctrudeau/c03f0c8996b9b33b1014 to your computer and use it in GitHub Desktop.
Save luctrudeau/c03f0c8996b9b33b1014 to your computer and use it in GitHub Desktop.

HTTP Long Polling

@startuml
hide footbox
Client -> Server: HTTP Get << Long Lived>>
activate Client
activate Server
Server -> Server: serve()
activate Server
Server -> BlockingQueue: poll(timeout, timeUnit)
activate BlockingQueue
BlockingQueue -> BlockingQueue: << Timeout >>
activate BlockingQueue
BlockingQueue --> Server: null
deactivate BlockingQueue
deactivate BlockingQueue
deactivate Server
Server --> Client: 408 Request Timeout
deactivate Server
Client -> Server: HTTP Get << Long Lived>>
activate Server
Server -> Server: serve()
activate Server
Server -> BlockingQueue: poll(timeout, timeUnit)
activate BlockingQueue
EventManager -> BlockingQueue: put(event)
activate BlockingQueue
BlockingQueue --> EventManager
deactivate BlockingQueue
BlockingQueue --> Server: return event
deactivate BlockingQueue
deactivate Server
Server --> Client: 200 OK event
deactivate Server
deactivate Client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment