/** * Determines whether keys for destroyed entries (tombstones) should be sent to clients in * register-interest results. * * @return true if tombstones should be sent to the client */ private static boolean sendTombstonesInRIResults(ServerConnection servConn, InterestResultPolicy policy) { return policy == InterestResultPolicy.KEYS_VALUES && servConn.getClientVersion().compareTo(Version.GFE_80) >= 0; }
private void setOverrides() { this.clientConflation = determineClientConflation(); // As of May 2009 ( GFE 6.0 ): // Note that this.clientVersion is used by server side for accepting // handshakes. // Client side handshake code uses this.currentClientVersion which can be // set via tests. if (currentClientVersion.compareTo(Version.GFE_603) >= 0) { this.overrides = new byte[] {this.clientConflation}; } }
@Override // DM method public void retainMembersWithSameOrNewerVersion(Collection<InternalDistributedMember> members, Version version) { for (Iterator<InternalDistributedMember> it = members.iterator(); it.hasNext();) { InternalDistributedMember id = it.next(); if (id.getVersionObject().compareTo(version) < 0) { it.remove(); } } }
@Override // DM method public void removeMembersWithSameOrNewerVersion(Collection<InternalDistributedMember> members, Version version) { for (Iterator<InternalDistributedMember> it = members.iterator(); it.hasNext();) { InternalDistributedMember id = it.next(); if (id.getVersionObject().compareTo(version) >= 0) { it.remove(); } } }
@Override public void retainMembersWithSameOrNewerVersion(Collection<InternalDistributedMember> members, Version version) { members.removeIf(id -> id.getVersionObject().compareTo(version) < 0); }
@Override public void removeMembersWithSameOrNewerVersion(Collection<InternalDistributedMember> members, Version version) { members.removeIf(id -> id.getVersionObject().compareTo(version) >= 0); }
private boolean sendCqResultsWithKey(ServerConnection servConn) { Version clientVersion = servConn.getClientVersion(); if (clientVersion.compareTo(Version.GFE_65) >= 0) { return true; } return false; }
/** * Returns a set of all the members of the distributed system of a specific version excluding * locators. */ @SuppressWarnings("unchecked") public static Set<DistributedMember> getNormalMembersWithSameOrNewerVersion(InternalCache cache, Version version) { return getAllNormalMembers(cache).stream().filter( member -> ((InternalDistributedMember) member).getVersionObject().compareTo(version) >= 0) .collect(Collectors.toSet()); }
@Override public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException { Version clientVersion = proxy.getVersion(); Message message = null; if (clientVersion.compareTo(Version.GFE_6622) >= 0) { message = getGFEMessage(); } else { throw new IOException( "Unsupported client version for server-to-client message creation: " + clientVersion); } return message; }
@Override public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException { Version clientVersion = proxy.getVersion(); Message message = null; if (clientVersion.compareTo(Version.GFE_57) >= 0) { message = getGFEMessage(); } else { throw new IOException( "Unsupported client version for server-to-client message creation: " + clientVersion); } return message; }
@Override public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException { Version clientVersion = proxy.getVersion(); Message message = null; if (clientVersion.compareTo(Version.GFE_57) >= 0) { message = getGFEMessage(); } else { throw new IOException( "Unsupported client version for server-to-client message creation: " + clientVersion); } return message; }
/** * checks to see if this thread needs to masquerade as a transactional thread. clients after * GFE_66 should be able to start a transaction. * * @return true if thread should masquerade as a transactional thread. */ protected boolean shouldMasqueradeForTx(Message clientMessage, ServerConnection serverConnection) { return serverConnection.getClientVersion().compareTo(Version.GFE_66) >= 0 && clientMessage.getTransactionId() > TXManagerImpl.NOTX; }
private PersistentMemberID bytesToPMID(byte[] bytes, Version gfversion) throws IOException, ClassNotFoundException { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); DataInputStream dis = new DataInputStream(bais); PersistentMemberID result = new PersistentMemberID(); if (Version.GFE_70.compareTo(gfversion) > 0) { result._fromData662(dis); } else { InternalDataSerializer.invokeFromData(result, dis); } return result; }
public void setLastChunkAndNumParts(boolean lastChunk, int numParts) { setLastChunk(lastChunk); if (this.serverConnection != null && this.serverConnection.getClientVersion().compareTo(Version.GFE_65) >= 0) { // we us e three bits for number of parts in last chunk byte // we us e three bits for number of parts in last chunk byte byte localLastChunk = (byte) (numParts << 5); this.lastChunk |= localLastChunk; } }
@Override protected Message getMessage(CacheClientProxy proxy, byte[] latestValue) throws IOException { Version clientVersion = proxy.getVersion(); Message message = null; if (clientVersion.compareTo(Version.GFE_57) >= 0) { message = getGFEMessage(proxy.getProxyID(), null, clientVersion); } else { throw new IOException( "Unsupported client version for server-to-client message creation: " + clientVersion); } return message; }
private String getMemberIdAsString() { String memberIdAsString = null; InternalDistributedMember idm = (InternalDistributedMember) getDistributedMember(); if (getClientVersion().compareTo(Version.GFE_90) < 0) { memberIdAsString = idm.toString(); } else { StringBuilder sb = new StringBuilder(); idm.addFixedToString(sb); memberIdAsString = sb.toString(); } return memberIdAsString; }
@Override protected Message getMessage(CacheClientProxy proxy, byte[] latestValue) throws IOException { if (Version.GFE_70.compareTo(proxy.getVersion()) <= 0) { return getGFE70Message(proxy.getVersion()); } else { return null; } }
@Test public void processMessageFromServerOfGeode170AndLaterVersionWillExpireDisconnectedClientTransactions() { when(version.compareTo(Version.GEODE_170)).thenReturn(1); message.process(dm); verify(txManager, times(1)).expireDisconnectedClientTransactions(any(), eq(false)); }
@Test public void processMessageFromServerOfPriorGeode170VersionWillRemoveExpiredClientTransactions() { when(version.compareTo(Version.GEODE_170)).thenReturn(-1); message.process(dm); verify(txManager, times(1)).removeExpiredClientTransactions(any()); } }
private void compare(Version later, Version earlier) { assertTrue(later.compareTo(earlier) > 0); assertTrue(later.equals(later)); assertTrue(later.compareTo(later) == 0); assertTrue(earlier.compareTo(later) < 0); assertTrue(later.compareTo(earlier.ordinal()) > 0); assertTrue(later.compareTo(later.ordinal()) == 0); assertTrue(earlier.compareTo(later.ordinal()) < 0); }