From 25e06bc3180386032a3139bb10b39eb413185386 Mon Sep 17 00:00:00 2001 From: Rob Austin Date: Tue, 26 May 2015 18:27:13 +0100 Subject: [PATCH] CE-41 fixed binary wire test cases. --- .../chronicle/map/ReplicatedChronicleMap.java | 25 +++++++++++++------ .../openhft/chronicle/map/TcpReplicator.java | 5 ++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java index 85b7e9ca7..a5af8ed3a 100644 --- a/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/ReplicatedChronicleMap.java @@ -103,7 +103,9 @@ final class ReplicatedChronicleMap modificationIterators; + private final AtomicReferenceArray modificationIterators = + new AtomicReferenceArray(127 + RESERVED_MOD_ITER); + private transient long startOfModificationIterators; private boolean bootstrapOnlyLocalEntries; @@ -138,8 +140,7 @@ final class ReplicatedChronicleMap(127 + RESERVED_MOD_ITER); + closeables = new CopyOnWriteArraySet(); } @@ -213,7 +214,6 @@ final class ReplicatedChronicleMap= timeStamp && (!bootstrapOnlyLocalEntries || - entry.readByte() == ReplicatedChronicleMap.this.identifier())) + if (entryTimestamp >= timeStamp && + (!bootstrapOnlyLocalEntries || entry.readByte() == ReplicatedChronicleMap.this.identifier())) callback.set(index, pos); } }); diff --git a/src/main/java/net/openhft/chronicle/map/TcpReplicator.java b/src/main/java/net/openhft/chronicle/map/TcpReplicator.java index 0f35e9c28..670ca2cc6 100644 --- a/src/main/java/net/openhft/chronicle/map/TcpReplicator.java +++ b/src/main/java/net/openhft/chronicle/map/TcpReplicator.java @@ -597,8 +597,6 @@ final class TcpReplicator extends AbstractChannelReplicator implements Clo if (remoteIdentifier == STATELESS_CLIENT) { attached.handShakingComplete = true; attached.hasRemoteHeartbeatInterval = false; - - return; } @@ -645,7 +643,8 @@ final class TcpReplicator extends AbstractChannelReplicator implements Clo attached.remoteModificationIterator = replica.acquireModificationIterator(remoteIdentifier, attached); - writer.writeRemoteBootstrapTimestamp(replica.lastModificationTime(remoteIdentifier)); + long timeStampOfLastMessage = replica.lastModificationTime(remoteIdentifier); + writer.writeRemoteBootstrapTimestamp(timeStampOfLastMessage); writer.writeServerVersion();