summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-12-12 07:44:51 +0000
committerVaadin Code Review <review@vaadin.com>2012-12-12 07:44:51 +0000
commit21cfeb145c81fabfc935a136cff581d53754a27d (patch)
treee29f3da05ce28010fd26b23ef3529a03ff54c4b3 /client
parentff58af76ded8bd96e1dbefb1590df030532cade9 (diff)
parentcde9d4684e3ddfba044bfa30645dcf7ee2ec0e16 (diff)
downloadvaadin-framework-21cfeb145c81fabfc935a136cff581d53754a27d.tar.gz
vaadin-framework-21cfeb145c81fabfc935a136cff581d53754a27d.zip
Merge "Add getLastResponseId() (#10496)"
Diffstat (limited to 'client')
-rw-r--r--client/src/com/vaadin/client/ApplicationConnection.java21
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