diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/ApplicationConnection.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/ApplicationConnection.java b/client/src/com/vaadin/client/ApplicationConnection.java index 5f90fe4c19..05cc88d0ee 100644 --- a/client/src/com/vaadin/client/ApplicationConnection.java +++ b/client/src/com/vaadin/client/ApplicationConnection.java @@ -260,6 +260,8 @@ public class ApplicationConnection { /** Event bus for communication events */ private EventBus eventBus = GWT.create(SimpleEventBus.class); + private int lastResponseId = -1; + /** * The communication handler methods are called at certain points during * communication with the server. This allows for making add-ons that keep @@ -1270,6 +1272,23 @@ public class ApplicationConnection { handleUIDLMessage(start, jsonText, json); } + /** + * Gets the id of the last received response. This id can be used by + * connectors to determine whether new data has been received from the + * server to avoid doing the same calculations multiple times. + * <p> + * No guarantees are made for the structure of the id other than that there + * will be a new unique value every time a new response with data from the + * server is received. + * <p> + * The initial id when no request has yet been processed is -1. + * + * @return and id identifying the response + */ + public int getLastResponseId() { + return lastResponseId; + } + protected void handleUIDLMessage(final Date start, final String jsonText, final ValueMap json) { if (!responseHandlingLocks.isEmpty()) { @@ -1294,6 +1313,8 @@ public class ApplicationConnection { return; } + lastResponseId++; + final MultiStepDuration handleUIDLDuration = new MultiStepDuration(); // Get security key |