Last active
August 29, 2015 14:23
-
-
Save luctrudeau/e4c389b0e165640fddd0 to your computer and use it in GitHub Desktop.
Long Polling
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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 | |
@enduml |
After timeout, no exception are thrown, Poll returns null
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
According to https://tools.ietf.org/html/rfc6202#section-5.5, the timeout should return a 408