Package org.jgroups.protocols
Class MFC_NB
java.lang.Object
org.jgroups.stack.Protocol
org.jgroups.protocols.FlowControl
org.jgroups.protocols.MFC
org.jgroups.protocols.MFC_NB
- All Implemented Interfaces:
Lifecycle
Non-blocking alternative to
MFC.JIRA: JIRA: https://issues.redhat.com/browse/JGRP-2172
- Since:
- 4.0.4
-
Field Summary
FieldsFields inherited from class org.jgroups.protocols.MFC
credits, last_credit_request, MFC_CREDIT_REQUEST_HDR, MFC_REPLENISH_HDRFields inherited from class org.jgroups.protocols.FlowControl
frag_size, max_block_time, max_credits, min_credits, min_threshold, num_credit_requests_received, num_credit_requests_sent, num_credit_responses_received, num_credit_responses_sent, num_msgs_dropped, received, runningFields inherited from class org.jgroups.stack.Protocol
after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, stack, stats, up_prot -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected CreditMapcreateCreditMap(long max_creds) intintintintprotected ObjecthandleDownMessage(Message msg, int length) booleanprotected voidChecks the sent table: if some credits are in queueing mode and credits left are less than min_credits: send a credit requestsetMaxQueueSize(int s) voidstart()This method is called on aJChannel.connect(String); starts work.voidstop()Called on aJChannel.disconnect(); stops work (e.g.Methods inherited from class org.jgroups.protocols.MFC
getAverageTimeBlocked, getCreditRequestHeader, getNumberOfBlockings, getReplenishHeader, handleCredit, handleMulticastMessage, handleViewChange, init, needToSendCreditRequest, printCredits, printSenderCredits, replenish, resetStats, unblockMethods inherited from class org.jgroups.protocols.FlowControl
adjustCredit, down, down, getMaxBlockTime, getMaxCredits, getMinCredits, getMinThreshold, getNumberOfCreditRequestsReceived, getNumberOfCreditRequestsSent, getNumberOfCreditResponsesReceived, getNumberOfCreditResponsesSent, getReceiverCreditsFor, handleConfigEvent, handleCreditRequest, handleUpEvent, printMap, printReceiverCredits, sendCredit, sendCreditRequest, setMaxBlockTime, setMaxCredits, setMinCredits, setMinThreshold, up, up, upMethods inherited from class org.jgroups.stack.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, providedDownServices, providedUpServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, setAddress, setDownProtocol, setErgonomics, setId, setLevel, setPolicies, setProtocolStack, setSocketFactory, setUpProtocol, setValue, statsEnabled, toString
-
Field Details
-
max_queue_size
protected int max_queue_size -
send_function
-
credit_send_task
-
-
Constructor Details
-
MFC_NB
public MFC_NB()
-
-
Method Details
-
getMaxQueueSize
public int getMaxQueueSize() -
setMaxQueueSize
-
isQueuing
public boolean isQueuing() -
getNumberOfQueuedMessages
public int getNumberOfQueuedMessages() -
getQueuedSize
public int getQueuedSize() -
getNumberOfQueuings
public int getNumberOfQueuings() -
createCreditMap
- Overrides:
createCreditMapin classMFC
-
start
Description copied from class:ProtocolThis method is called on aJChannel.connect(String); starts work. Protocols are connected ready to receive events. Will be called from bottom to top.- Specified by:
startin interfaceLifecycle- Overrides:
startin classFlowControl- Throws:
Exception- Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, soJChannel.connect(String)will throw an exception
-
stop
public void stop()Description copied from class:ProtocolCalled on aJChannel.disconnect(); stops work (e.g. by closing multicast socket). Will be called from top to bottom. -
handleDownMessage
- Overrides:
handleDownMessagein classMFC
-
sendCreditRequestsIfNeeded
protected void sendCreditRequestsIfNeeded()Checks the sent table: if some credits are in queueing mode and credits left are less than min_credits: send a credit request
-