Class NAKACK3
java.lang.Object
org.jgroups.stack.Protocol
org.jgroups.protocols.ReliableMulticast
org.jgroups.protocols.NAKACK3
- All Implemented Interfaces:
Lifecycle, DiagnosticsHandler.ProbeHandler
Negative AcKnowledgement layer (NAKs). Messages are assigned a monotonically increasing sequence number (seqno).
Receivers deliver messages ordered according to seqno and request retransmission of missing messages.
Retransmit requests are usually sent to the original sender of a message, but this can be changed by xmit_from_random_member (send to random member) or use_mcast_xmit_req (send to everyone). Responses can also be sent to everyone instead of the requester by setting use_mcast_xmit to true.
Retransmit requests are usually sent to the original sender of a message, but this can be changed by xmit_from_random_member (send to random member) or use_mcast_xmit_req (send to everyone). Responses can also be sent to everyone instead of the requester by setting use_mcast_xmit to true.
- Since:
- 5.4
- Author:
- Bela Ban
-
Nested Class Summary
Nested classes/interfaces inherited from class ReliableMulticast
ReliableMulticast.Entry, ReliableMulticast.LastSeqnoResender, ReliableMulticast.RetransmitTask -
Field Summary
Fields inherited from class ReliableMulticast
avg_batch_size, BATCH_ACCUMULATOR, become_server_queue, become_server_queue_size, cached_batches, digest_history, discard_delivered_msgs, DUMMY_OOB_MSG, HAS_HEADER, is_server, is_trace, last_seqno_resender, leaving, local_send_entry, local_xmit_table, log_discard_msgs, log_not_found_msgs, max_batch_size, max_xmit_req_size, members, no_dummy_and_no_oob_delivered_msgs_and_no_dont_loopback_msgs, num_messages_received, num_messages_sent, remove_filter, reuse_message_batches, running, send_atomically, sends_can_block, seqno, SEQNO_GETTER, stability_msgs, stable_xmit_map, suppress_log_non_member, suppress_time_non_member_warnings, timer, use_mcast_xmit, use_mcast_xmit_req, view, xmit_from_random_member, xmit_interval, xmit_reqs_received, xmit_reqs_sent, xmit_rsps_received, xmit_rsps_sent, xmit_table, xmit_table_max_compaction_time, xmit_table_msgs_per_row, xmit_table_num_rows, xmit_table_resize_factor, xmit_task, xmit_task_mapFields inherited from class Protocol
after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, preview_warning, stack, stats, up_prot -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcompact()createXmitWindow(long initial_seqno) intintintintintvoidinit()Called after a protocol has been created and before the protocol is started.Methods inherited from class ReliableMulticast
addToSendBuffer, adjustReceivers, becomeServerQueue, clearCachedBatches, clearNonMemberCache, deliver, deliverBatch, discardDeliveredMsgs, down, down, flushBecomeServerQueue, getBecomeServerQueueSize, getBecomeServerQueueSizeActual, getBuf, getCurrentSeqno, getDigest, getDigest, getEntry, getMaxXmitReqSize, getNonMemberMessages, getNumMessagesReceived, getNumMessagesSent, getSizeOfAllMessages, getSizeOfAllMessagesInclHeaders, getSuppressTimeNonMemberWarnings, getXmitInterval, getXmitRequestsReceived, getXmitRequestsSent, getXmitResponsesReceived, getXmitResponsesSent, getXmitTableCapacity, getXmitTableMaxCompactionTime, getXmitTableMissingMessages, getXmitTableMsgsPerRow, getXmitTableNumRows, getXmitTableResizeFactor, getXmitTableUndeliveredMsgs, handleAck, handleHighestSeqno, handleMessage, handleMessageBatch, handleProbe, handleXmitReq, handleXmitRsp, isTrace, isTrace, isXmitTaskRunning, logDiscardMessages, logDiscardMessages, logNotFoundMessages, logNotFoundMessages, mergeDigest, msgFromXmitRsp, needToSendAck, needToSendAck, overwriteDigest, printBatches, printCachedBatches, printDigestHistory, printMessages, printStabilityMessages, providedUpServices, queueMessage, removeAndDeliver, resend, reset, resetStats, retransmit, retransmit, reuseMessageBatches, reuseMessageBatches, send, sendAck, sendAtomically, sendAtomically, sendBuf, sendBufferCanBlock, sendEntry, sendsCanBlock, sendsCanBlock, sendXmitRsp, setBecomeServerQueueSize, setDigest, setDigest, setDiscardDeliveredMsgs, setLevel, setMaxXmitReqSize, setSuppressTimeNonMemberWarnings, setTimer, setXmitFromRandomMember, setXmitInterval, setXmitTableMaxCompactionTime, setXmitTableMsgsPerRow, setXmitTableNumRows, setXmitTableResizeFactor, sizeOfAllMessages, stable, start, startRetransmitTask, stop, stopRetransmitTask, supportedKeys, triggerXmit, unknownMember, up, up, up, useMcastXmit, useMcastXmit, useMcastXmitReq, useMcastXmitReq, xmitFromRandomMemberMethods inherited from class Protocol
accept, addPolicy, addr, addr, afterCreationHook, destroy, down, enableStats, getAddress, getComponents, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getPolicies, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, level, parse, policies, previewWarning, previewWarning, providedDownServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, setAddress, setDownProtocol, setErgonomics, setId, setPolicies, setProtocolStack, setSocketFactory, setUpProtocol, setValue, statsEnabled, toString
-
Constructor Details
-
NAKACK3
public NAKACK3()
-
-
Method Details
-
createXmitWindow
- Specified by:
createXmitWindowin classReliableMulticast
-
getXmitTableNumCurrentRows
public int getXmitTableNumCurrentRows() -
getXmitTableNumCompactions
public int getXmitTableNumCompactions() -
getXmitTableNumMoves
public int getXmitTableNumMoves() -
getXmitTableNumResizes
public int getXmitTableNumResizes() -
getXmitTableNumPurges
public int getXmitTableNumPurges() -
compact
public void compact() -
dumpXmitTablesNumCurrentRows
-
init
Description copied from class:ProtocolCalled after a protocol has been created and before the protocol is started. Attributes are already set. Other protocols are not yet connected and events cannot yet be sent.- Specified by:
initin interfaceLifecycle- Overrides:
initin classReliableMulticast- Throws:
Exception- Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the the channel constructor will throw an exception
-