diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-07-01 09:19:49 (GMT) |
commit | 2da71a8a85486a494343f1662d64fb5ae5a2a44e (patch) | |
tree | 23992f9f2a00bac23b345e5c2cc9c1194efc25be /src/com/isode/stroke/streammanagement/StanzaAckResponder.java | |
download | stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.zip stroke-2da71a8a85486a494343f1662d64fb5ae5a2a44e.tar.bz2 |
Initial import
Diffstat (limited to 'src/com/isode/stroke/streammanagement/StanzaAckResponder.java')
-rw-r--r-- | src/com/isode/stroke/streammanagement/StanzaAckResponder.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/com/isode/stroke/streammanagement/StanzaAckResponder.java b/src/com/isode/stroke/streammanagement/StanzaAckResponder.java new file mode 100644 index 0000000..e0de87a --- /dev/null +++ b/src/com/isode/stroke/streammanagement/StanzaAckResponder.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2011 Isode Limited, London, England. + * All rights reserved. + */ +/* + * Copyright (c) 2010 Remko Tron¨on. + * All rights reserved. + */ +package com.isode.stroke.streammanagement; + +import com.isode.stroke.signals.Signal1; + +public class StanzaAckResponder { + + static final long MAX_HANDLED_STANZA_COUNT = Long.parseLong("4294967295"); //boost::numeric_cast<unsigned int>((1ULL<<32) - 1); + + public StanzaAckResponder() { + } + + public void handleStanzaReceived() { + handledStanzasCount = (handledStanzasCount == MAX_HANDLED_STANZA_COUNT ? 0 : handledStanzasCount + 1); + } + + public void handleAckRequestReceived() { + onAck.emit(handledStanzasCount); + } + public Signal1<Long> onAck = new Signal1<Long>(); + private long handledStanzasCount = 0; +} |