private Message getMessage(int numParts, Version clientVersion) { Message m = CACHED_MESSAGES.get().get(numParts); if (m == null) { m = new Message(numParts, Version.CURRENT); CACHED_MESSAGES.get().put(numParts, m); } m.clearParts(); m.setVersion(clientVersion); return m; }
public void clear() { this.isRetry = false; int len = this.payloadLength; if (len != 0) { this.payloadLength = 0; } if (this.readHeader) { if (this.messageStats != null) { this.messageStats.decMessagesBeingReceived(len); } } ByteBuffer buffer = getCommBuffer(); if (buffer != null) { buffer.clear(); } clearParts(); if (len != 0 && this.dataLimiter != null) { this.dataLimiter.release(len); this.dataLimiter = null; this.maxIncomingMessageLength = 0; } if (this.readHeader) { if (this.messageLimiter != null) { this.messageLimiter.release(1); this.messageLimiter = null; } this.readHeader = false; } this.flags = 0; }
private void readHeaderAndBody(int headerReadTimeoutMillis) throws IOException { clearParts();
/** * geode-1468: Message should clear the chunks in its Parts when performing cleanup. */ @Test public void streamBuffersAreClearedDuringCleanup() throws Exception { Part mockPart1 = mock(Part.class); when(mockPart1.getLength()).thenReturn(100); Part[] parts = new Part[2]; parts[0] = mockPart1; parts[1] = mockPart1; this.message.setParts(parts); this.message.clearParts(); verify(mockPart1, times(2)).clear(); }
protected static void writeResponseWithFunctionAttribute(byte[] data, Message origMsg, ServerConnection serverConnection) throws IOException { Message responseMsg = serverConnection.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.setNumberOfParts(1); responseMsg.addBytesPart(data); serverConnection.getCache().getCancelCriterion().checkCancelInProgress(null); responseMsg.send(serverConnection); origMsg.clearParts(); }
clientMessage.clearParts(); } catch (Exception e) { writeException(clientMessage, e, false, serverConnection);
clientMessage.clearParts(); } catch (Exception e) { writeException(clientMessage, e, false, serverConnection);
protected static void writeCommitResponse(TXCommitMessage response, Message origMsg, ServerConnection servConn) throws IOException { Message responseMsg = servConn.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setTransactionId(origMsg.getTransactionId()); responseMsg.setNumberOfParts(1); if (response != null) { response.setClientVersion(servConn.getClientVersion()); } responseMsg.addObjPart(response, false); servConn.getCache().getCancelCriterion().checkCancelInProgress(null); if (logger.isDebugEnabled()) { logger.debug("TX: sending a nonNull response for transaction: {}", new TXId((InternalDistributedMember) servConn.getProxyID().getDistributedMember(), origMsg.getTransactionId())); } responseMsg.send(servConn); origMsg.clearParts(); }
clientMessage.clearParts(); } catch (Exception e) { writeException(clientMessage, e, false, serverConnection);
result.getClass())); msg.clearParts(); } catch (QueryInvalidException e) {
clientMessage.clearParts(); } catch (Exception e) { writeException(clientMessage, e, false, serverConnection);
protected static void writeResponse(Object data, Object callbackArg, Message origMsg, boolean isObject, ServerConnection serverConnection) throws IOException { Message responseMsg = serverConnection.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setTransactionId(origMsg.getTransactionId()); if (callbackArg == null) { responseMsg.setNumberOfParts(1); } else { responseMsg.setNumberOfParts(2); } if (data instanceof byte[]) { responseMsg.addRawPart((byte[]) data, isObject); } else { Assert.assertTrue(isObject, "isObject should be true when value is not a byte[]"); responseMsg.addObjPart(data, false); } if (callbackArg != null) { responseMsg.addObjPart(callbackArg); } serverConnection.getCache().getCancelCriterion().checkCancelInProgress(null); responseMsg.send(serverConnection); origMsg.clearParts(); }
origMsg.clearParts();
protected static void writeResponseWithRefreshMetadata(Object data, Object callbackArg, Message origMsg, boolean isObject, ServerConnection serverConnection, PartitionedRegion pr, byte nwHop) throws IOException { Message responseMsg = serverConnection.getResponseMessage(); responseMsg.setMessageType(MessageType.RESPONSE); responseMsg.setTransactionId(origMsg.getTransactionId()); if (callbackArg == null) { responseMsg.setNumberOfParts(2); } else { responseMsg.setNumberOfParts(3); } if (data instanceof byte[]) { responseMsg.addRawPart((byte[]) data, isObject); } else { Assert.assertTrue(isObject, "isObject should be true when value is not a byte[]"); responseMsg.addObjPart(data, false); } if (callbackArg != null) { responseMsg.addObjPart(callbackArg); } responseMsg.addBytesPart(new byte[] {pr.getMetadataVersion(), nwHop}); serverConnection.getCache().getCancelCriterion().checkCancelInProgress(null); responseMsg.send(serverConnection); origMsg.clearParts(); }
servConn.getCache().getCancelCriterion().checkCancelInProgress(null); responseMsg.send(servConn); origMsg.clearParts();