/** * Register this connection with the given selector for read events. Note that switch the channel * to non-blocking so it can be in a selector. */ void registerWithSelector() throws IOException { getSelectableChannel().configureBlocking(false); getAcceptor().registerSC(this); }
protected ServerToClientFunctionResultSender getResultSender() { ChunkedMessage msg = mock(ChunkedMessage.class); serverConnection = mock(ServerConnection.class); Function function = mock(Function.class); ExecuteFunctionOperationContext executeFunctionOperationContext = mock(ExecuteFunctionOperationContext.class); // sc.getAcceptor().isSelector(); AcceptorImpl acceptor = mock(AcceptorImpl.class); when(serverConnection.getAcceptor()).thenReturn(acceptor); when(acceptor.isSelector()).thenReturn(true); when(acceptor.isRunning()).thenReturn(true); return new ServerToClientFunctionResultSender(msg, 1, serverConnection, function, executeFunctionOperationContext); }
public boolean isOkayToSendResult() { return (sc.getAcceptor().isRunning() && !ids.isDisconnecting() && !sc.getCachedRegionHelper().getCache().isClosed() && !alreadySendException.get()); }
@Override protected ServerToClientFunctionResultSender getResultSender() { ChunkedMessage msg = mock(ChunkedMessage.class); serverConnection = mock(ServerConnection.class); Function function = mock(Function.class); ExecuteFunctionOperationContext executeFunctionOperationContext = mock(ExecuteFunctionOperationContext.class); AcceptorImpl acceptor = mock(AcceptorImpl.class); when(serverConnection.getAcceptor()).thenReturn(acceptor); when(acceptor.isSelector()).thenReturn(true); when(acceptor.isRunning()).thenReturn(true); return new ServerToClientFunctionResultSender65(msg, 1, serverConnection, function, executeFunctionOperationContext); } }
public ServerToClientFunctionResultSender(ChunkedMessage msg, int messageType, ServerConnection sc, Function function, ExecuteFunctionOperationContext authzContext) { this.msg = msg; this.msg.setVersion(sc.getClientVersion()); this.messageType = messageType; this.sc = sc; this.fn = function; this.authContext = authzContext; this.isSelector = sc.getAcceptor().isSelector(); if (this.isSelector) { this.commBuffer = msg.getCommBuffer(); } }
getAcceptor().decClientServerCnxCount(); getAcceptor().unregisterSC(this); if (logger.isDebugEnabled()) { logger.debug("{}: Closed connection", this.name);
public void setCq(String cqName, boolean isDurable) throws Exception { final boolean isDebugEnabled = logger.isDebugEnabled(); if (this.requestMessage.isSecureMode()) { if (isDebugEnabled) { logger.debug("setCq() security header found registering CQname = {}", cqName); } try { byte[] secureBytes = this.requestMessage.getSecureBytes(); secureBytes = this.handshake.getEncryptor().decryptBytes(secureBytes); AuthIds aIds = new AuthIds(secureBytes); long uniqueId = aIds.getUniqueId(); CacheClientProxy proxy = getAcceptor().getCacheClientNotifier().getClientProxy(this.proxyId); if (proxy != null) { proxy.setCQVsUserAuth(cqName, uniqueId, isDurable); } } catch (Exception ex) { if (isDebugEnabled) { logger.debug("While setting cq got exception ", ex); } throw ex; } } else { if (isDebugEnabled) { logger.debug("setCq() security header is not found "); } } }
@Override protected void before() throws Throwable { securityService = mock(SecurityService.class); message = mock(Message.class); connection = mock(ServerConnection.class); cache = mock(InternalCache.class); cqService = mock(CqService.class); internalCqQuery = mock(InternalCqQuery.class); String regionName = "regionName"; Part part = mock(Part.class); CachedRegionHelper crHelper = mock(CachedRegionHelper.class); DefaultQueryService queryService = mock(DefaultQueryService.class); DefaultQuery query = mock(DefaultQuery.class); Set<String> regionsInQuery = new HashSet(); regionsInQuery.add(regionName); when(connection.getCachedRegionHelper()).thenReturn(crHelper); when(connection.getCacheServerStats()).thenReturn(mock(CacheServerStats.class)); when(connection.getAcceptor()).thenReturn(mock(AcceptorImpl.class)); when(connection.getChunkedResponseMessage()).thenReturn(mock(ChunkedMessage.class)); when(message.getPart(anyInt())).thenReturn(part); when(part.getString()).thenReturn("CQ"); when(part.getInt()).thenReturn(10); when(crHelper.getCache()).thenReturn(cache); when(cache.getCqService()).thenReturn(cqService); when(cache.getLocalQueryService()).thenReturn(queryService); when(queryService.newQuery(anyString())).thenReturn(query); when(query.getRegionsInQuery(null)).thenReturn(regionsInQuery); when(cqService.getCq("CQ")).thenReturn(internalCqQuery); when(internalCqQuery.getRegionName()).thenReturn(regionName); }
@Before public void setUp() throws Exception { this.registerInterestList66 = new RegisterInterestList66(); MockitoAnnotations.initMocks(this); when(this.authzRequest.registerInterestListAuthorize(eq(REGION_NAME), any(), any())) .thenReturn(this.registerInterestOperationContext); when(this.cache.getRegion(isA(String.class))).thenReturn(mock(LocalRegion.class)); when(this.cache.getCancelCriterion()).thenReturn(mock(CancelCriterion.class)); when(this.durablePart.getObject()).thenReturn(DURABLE); when(this.interestTypePart.getInt()).thenReturn(0); when(this.keyPart.getObject()).thenReturn(mock(ArrayList.class)); when(this.message.getNumberOfParts()).thenReturn(6); when(this.message.getPart(eq(0))).thenReturn(this.regionNamePart); when(this.message.getPart(eq(1))).thenReturn(this.interestTypePart); when(this.message.getPart(eq(2))).thenReturn(this.durablePart); when(this.message.getPart(eq(3))).thenReturn(this.keyPart); when(this.message.getPart(eq(4))).thenReturn(this.notifyPart); when(this.message.getPart(eq(5))).thenReturn(this.regionDataPolicyPart); when(this.notifyPart.getObject()).thenReturn(DURABLE); when(this.numberOfKeysPart.getInt()).thenReturn(1); when(this.regionDataPolicyPart.getObject()).thenReturn(DATA_POLICY); when(this.regionNamePart.getString()).thenReturn(REGION_NAME); when(this.registerInterestOperationContext.getKey()).thenReturn(KEY); when(this.serverConnection.getCache()).thenReturn(this.cache); when(this.serverConnection.getAuthzRequest()).thenReturn(this.authzRequest); when(this.serverConnection.getCachedRegionHelper()).thenReturn(mock(CachedRegionHelper.class)); when(this.serverConnection.getChunkedResponseMessage()).thenReturn(this.chunkedResponseMessage); when(this.serverConnection.getClientVersion()).thenReturn(Version.GFE_80); when(this.serverConnection.getAcceptor()).thenReturn(mock(AcceptorImpl.class)); }
@Before public void setUp() throws Exception { this.registerInterestList = new RegisterInterestList(); MockitoAnnotations.initMocks(this); when(this.authzRequest.registerInterestListAuthorize(eq(REGION_NAME), any(), any())) .thenReturn(this.registerInterestOperationContext); when(this.cache.getRegion(isA(String.class))).thenReturn(mock(LocalRegion.class)); when(this.cache.getCancelCriterion()).thenReturn(mock(CancelCriterion.class)); when(this.durablePart.getObject()).thenReturn(DURABLE); when(this.interestTypePart.getInt()).thenReturn(0); when(this.keyPart.getStringOrObject()).thenReturn(KEY); when(this.message.getNumberOfParts()).thenReturn(6); when(this.message.getPart(eq(0))).thenReturn(this.regionNamePart); when(this.message.getPart(eq(1))).thenReturn(this.interestTypePart); when(this.message.getPart(eq(2))).thenReturn(this.durablePart); when(this.message.getPart(eq(3))).thenReturn(this.numberOfKeysPart); when(this.message.getPart(eq(4))).thenReturn(this.keyPart); when(this.message.getPart(eq(5))).thenReturn(this.notifyPart); when(this.notifyPart.getObject()).thenReturn(DURABLE); when(this.numberOfKeysPart.getInt()).thenReturn(1); when(this.regionNamePart.getString()).thenReturn(REGION_NAME); when(this.registerInterestOperationContext.getKey()).thenReturn(KEY); when(this.serverConnection.getCache()).thenReturn(this.cache); when(this.serverConnection.getAuthzRequest()).thenReturn(this.authzRequest); when(this.serverConnection.getCachedRegionHelper()).thenReturn(mock(CachedRegionHelper.class)); when(this.serverConnection.getChunkedResponseMessage()).thenReturn(this.chunkedResponseMessage); when(this.serverConnection.getClientVersion()).thenReturn(Version.GFE_80); when(this.serverConnection.getAcceptor()).thenReturn(mock(AcceptorImpl.class)); }
@Before public void setUp() throws Exception { this.registerInterestList61 = new RegisterInterestList61(); MockitoAnnotations.initMocks(this); when(this.authzRequest.registerInterestListAuthorize(eq(REGION_NAME), any(), any())) .thenReturn(this.registerInterestOperationContext); when(this.cache.getRegion(isA(String.class))).thenReturn(mock(LocalRegion.class)); when(this.cache.getCancelCriterion()).thenReturn(mock(CancelCriterion.class)); when(this.durablePart.getObject()).thenReturn(DURABLE); when(this.interestTypePart.getInt()).thenReturn(0); when(this.keyPart.getStringOrObject()).thenReturn(KEY); when(this.message.getNumberOfParts()).thenReturn(6); when(this.message.getPart(eq(0))).thenReturn(this.regionNamePart); when(this.message.getPart(eq(1))).thenReturn(this.interestTypePart); when(this.message.getPart(eq(2))).thenReturn(this.durablePart); when(this.message.getPart(eq(3))).thenReturn(this.numberOfKeysPart); when(this.message.getPart(eq(4))).thenReturn(this.keyPart); when(this.message.getPart(eq(5))).thenReturn(this.notifyPart); when(this.notifyPart.getObject()).thenReturn(DURABLE); when(this.numberOfKeysPart.getInt()).thenReturn(1); when(this.regionNamePart.getString()).thenReturn(REGION_NAME); when(this.registerInterestOperationContext.getKey()).thenReturn(KEY); when(this.serverConnection.getCache()).thenReturn(this.cache); when(this.serverConnection.getAuthzRequest()).thenReturn(this.authzRequest); when(this.serverConnection.getCachedRegionHelper()).thenReturn(mock(CachedRegionHelper.class)); when(this.serverConnection.getChunkedResponseMessage()).thenReturn(this.chunkedResponseMessage); when(this.serverConnection.getClientVersion()).thenReturn(Version.GFE_80); when(this.serverConnection.getAcceptor()).thenReturn(mock(AcceptorImpl.class)); }
@Before public void setUp() throws Exception { this.registerInterest61 = new RegisterInterest61(); MockitoAnnotations.initMocks(this); when(this.authzRequest.registerInterestAuthorize(eq(REGION_NAME), eq(KEY), anyInt(), any())) .thenReturn(this.registerInterestOperationContext); when(this.cache.getRegion(isA(String.class))).thenReturn(mock(LocalRegion.class)); when(this.cache.getCancelCriterion()).thenReturn(mock(CancelCriterion.class)); when(this.durablePart.getObject()).thenReturn(DURABLE); when(this.interestTypePart.getInt()).thenReturn(0); when(this.keyPart.getStringOrObject()).thenReturn(KEY); when(this.message.getNumberOfParts()).thenReturn(6); when(this.message.getPart(eq(0))).thenReturn(this.regionNamePart); when(this.message.getPart(eq(1))).thenReturn(this.interestTypePart); when(this.message.getPart(eq(2))).thenReturn(mock(Part.class)); when(this.message.getPart(eq(3))).thenReturn(this.durablePart); when(this.message.getPart(eq(4))).thenReturn(this.keyPart); when(this.message.getPart(eq(5))).thenReturn(this.notifyPart); when(this.notifyPart.getObject()).thenReturn(DURABLE); when(this.regionNamePart.getString()).thenReturn(REGION_NAME); when(this.registerInterestOperationContext.getKey()).thenReturn(KEY); when(this.serverConnection.getCache()).thenReturn(this.cache); when(this.serverConnection.getAuthzRequest()).thenReturn(this.authzRequest); when(this.serverConnection.getCachedRegionHelper()).thenReturn(mock(CachedRegionHelper.class)); when(this.serverConnection.getChunkedResponseMessage()).thenReturn(this.chunkedResponseMessage); when(this.serverConnection.getClientVersion()).thenReturn(Version.GFE_80); when(this.serverConnection.getAcceptor()).thenReturn(mock(AcceptorImpl.class)); }
when(this.serverConnection.getCachedRegionHelper()).thenReturn(mock(CachedRegionHelper.class)); when(this.serverConnection.getErrorResponseMessage()).thenReturn(this.errorResponseMessage); when(this.serverConnection.getAcceptor()).thenReturn(this.acceptor); when(this.serverConnection.getClientVersion()).thenReturn(Version.CURRENT);
when(message.getPart(eq(3))).thenReturn(partPart); when(serverConnection.getAcceptor()).thenReturn(acceptor); when(serverConnection.getAuthzRequest()).thenReturn(authzRequest); when(serverConnection.getCache()).thenReturn(cache);
@Override public void cmdExecute(final Message clientMessage, final ServerConnection serverConnection, final SecurityService securityService, long start) throws IOException, InterruptedException { AcceptorImpl acceptor = serverConnection.getAcceptor(); CachedRegionHelper crHelper = serverConnection.getCachedRegionHelper(); ClientProxyMembershipID id = serverConnection.getProxyID();
@Override public void cmdExecute(final Message clientMessage, final ServerConnection serverConnection, final SecurityService securityService, long start) throws IOException, ClassNotFoundException { serverConnection.setAsTrue(REQUIRES_RESPONSE); Part isClientReadyPart = clientMessage.getPart(0); byte[] isClientReadyPartBytes = (byte[]) isClientReadyPart.getObject(); boolean isClientReady = isClientReadyPartBytes[0] == 0x01; final boolean isDebugEnabled = logger.isDebugEnabled(); if (isDebugEnabled) { logger.debug("{}: Received make primary request ({} bytes) isClientReady={}: from {}", serverConnection.getName(), clientMessage.getPayloadLength(), isClientReady, serverConnection.getSocketString()); } try { serverConnection.getAcceptor().getCacheClientNotifier() .makePrimary(serverConnection.getProxyID(), isClientReady); writeReply(clientMessage, serverConnection); serverConnection.setAsTrue(RESPONDED); if (isDebugEnabled) { logger.debug("{}: Sent make primary response for {}", serverConnection.getName(), serverConnection.getSocketString()); } } catch (Exception e) { writeException(clientMessage, e, false, serverConnection); serverConnection.setAsTrue(RESPONDED); } }
serverConnection.getAcceptor().getCacheClientNotifier() .readyForEvents(serverConnection.getProxyID());
void initStreams(Socket s, int socketBufferSize, MessageStats messageStats) { try { if (getAcceptor().isSelector()) { // set it on the message to null. This causes Message // to fetch it from a thread local. That way we only need // one per thread in our selector thread pool instead of // one per connection. commBuffer = null; } else { commBuffer = allocateCommBuffer(socketBufferSize, s); } requestMessage.setComms(this, theSocket, commBuffer, messageStats); replyMessage.setComms(this, theSocket, commBuffer, messageStats); responseMessage.setComms(this, theSocket, commBuffer, messageStats); errorMessage.setComms(this, theSocket, commBuffer, messageStats); chunkedResponseMessage.setComms(this, theSocket, commBuffer, messageStats); queryResponseMessage.setComms(this, theSocket, commBuffer, messageStats); executeFunctionResponseMessage.setComms(this, theSocket, commBuffer, messageStats); registerInterestResponseMessage.setComms(this, theSocket, commBuffer, messageStats); keySetResponseMessage.setComms(this, theSocket, commBuffer, messageStats); } catch (RuntimeException re) { throw re; } catch (Exception e) { logger.fatal(e.getMessage(), e); } }
boolean keepalive = (keepaliveByte == null || keepaliveByte[0] == 0) ? false : true; serverConnection.getAcceptor().getCacheClientNotifier() .setKeepAlive(serverConnection.getProxyID(), keepalive);
int numEvents = clientMessage.getNumberOfParts(); boolean success = false; CacheClientNotifier ccn = serverConnection.getAcceptor().getCacheClientNotifier(); CacheClientProxy proxy = ccn.getClientProxy(serverConnection.getProxyID()); if (proxy != null) {