public class SeedClientPeerNode extends PeerNode
PeerNode.IncomingLoadSummaryStats, PeerNode.SlotWaiter
backedOffPercent, backedOffPercentBulk, backedOffPercentRT, BLACK_MAGIC_BACKOFF_PRUNING_PERCENTAGE, BLACK_MAGIC_BACKOFF_PRUNING_TIME, crypto, disableRouting, disableRoutingHasBeenSetLocally, disableRoutingHasBeenSetRemotely, fullFieldSet, hmacKey, incommingKey, ivKey, ivNonce, jfkContextLifetime, jfkKa, jfkKe, jfkMyRef, jfkNoncesSent, neverConnected, nominalPeer, ourInitialMsgID, ourInitialSeqNum, outgoingKey, peerAddedTime, peerECDSAPubKey, peerECDSAPubKeyHash, peerNodeStatus, resendByteCounter, SELECTION_MAX_SAMPLES, SELECTION_MIN_PEERS, SELECTION_PERCENTAGE_WARNING, SELECTION_SAMPLING_PERIOD, sendHandshakeTime, sendingUOMLegacyExtJar, sendingUOMMainJar, testnetEnabled, theirInitialMsgID, theirInitialSeqNum, unroutableNewerVersion, unroutableOlderVersion
Constructor and Description |
---|
SeedClientPeerNode(SimpleFieldSet fs,
Node node2,
NodeCrypto crypto) |
Modifier and Type | Method and Description |
---|---|
boolean |
canAcceptAnnouncements()
Can we accept announcements from this node?
|
boolean |
disconnected(boolean dumpMessageQueue,
boolean dumpTrackers)
Disconnected e.g.
|
boolean |
equals(java.lang.Object o) |
void |
fatalTimeout()
After a fatal timeout - that is, a timeout that we reasonably believe originated
on the node rather than downstream - we do not know whether or not the node thinks
the request is still running.
|
protected boolean |
fromAnonymousInitiator() |
PeerNodeStatus |
getStatus(boolean noHeavy)
Get a PeerNodeStatus for this node.
|
int |
handshakeSetupType() |
boolean |
handshakeUnknownInitiator() |
protected boolean |
ignoreLastGoodVersion() |
boolean |
isDarknet() |
boolean |
isOpennet() |
boolean |
isOpennetForNoderef() |
boolean |
isRealConnection()
Does this peernode want to be returned by for example PeerManager.getByPeer() ?
False = seednode etc, never going to be routable.
|
boolean |
isRoutingCompatible()
Returns true if (apart from actually knowing the peer's location), it is presumed that this peer could route requests.
|
boolean |
isSeed() |
protected void |
maybeClearPeerAddedTimeOnConnect() |
protected void |
maybeClearPeerAddedTimeOnRestart(long now) |
protected void |
onConnect()
A method to be called once at the beginning of every time isConnected() is true
|
void |
onSuccess(boolean insert,
boolean ssk)
Called when a request or insert succeeds.
|
boolean |
recordStatus() |
boolean |
shallWeRouteAccordingToOurPeersLocation(int htl) |
boolean |
shouldDisconnectAndRemoveNow()
Should this peer be disconnected and removed immediately?
|
protected boolean |
shouldExportPeerAddedTime() |
boolean |
shouldSendHandshake() |
protected void |
writePeers()
Write the peers list affecting this node.
|
acceptedAny, addToLocalNodeReceivedMessagesFromStatistic, addToLocalNodeSentMessagesToStatistic, allowLocalAddresses, averagePingTime, averagePingTimeCorrected, backoffOnResend, calcNextHandshake, calculateMaxTransfersOut, changedIP, checkForLostPackets, checkRoutableConnectionStatus, completedAnnounce, completedHandshake, couldNotSendHandshake, countFailedRevocationTransfers, create, decrementHTL, decrementUOMSends, dontRoute, dumpTracker, enterMandatoryBackoff, exportDiskFieldSet, exportFieldSet, exportMetadataFieldSet, exportVolatileFieldSet, failedRevocationTransfer, fatalTimeout, finishedSendingUOMJar, forceCancelDisconnecting, forceDisconnect, fullPacketQueued, getAddedReason, getBootID, getClockDelta, getClosestPeerLocation, getCurrentKeyTracker, getDegree, getFullNoderef, getHandshakeCount, getHandshakeIP, getHandshakeIPs, getIdentityHash, getIdentityString, getIncomingLoadStats, getJFKBuffer, getKeyAgreementSchemeContext, getLastBackoffReason, getLocalNodeReceivedMessagesFromStatistic, getLocalNoderef, getLocalNodeSentMessagesToStatistic, getLocation, getLocSetTime, getMainJarOfferedVersion, getMaxPacketSize, getMessageQueue, getMessageQueueLengthBytes, getNextUrgentTime, getOutgoingBootID, getOutgoingMangler, getPeer, getPeerAddedTime, getPeerNodeStatus, getPeerNodeStatus, getPeerNodeStatusCSSClassName, getPeerNodeStatusCSSClassName, getPeerNodeStatusString, getPeerNodeStatusString, getPercentTimeRoutableConnection, getPollingPriorityNormal, getPollingPriorityProgress, getPRejected, getPreviousBackoffReason, getPreviousKeyTracker, getProbableSendQueueTime, getPubKeyHash, getRemoteDetectedPeer, getResendBytesSent, getReusableTrackerID, getRoutingBackedOffUntil, getRoutingBackedOffUntilBulk, getRoutingBackedOffUntilMax, getRoutingBackedOffUntilRT, getRoutingBackoffLength, getSimpleVersion, getSocketHandler, getThrottle, getThrottleWindowSize, getTMCIPeerInfo, getTotalInputBytes, getTotalInputSinceStartup, getTotalOutputBytes, getTotalOutputSinceStartup, getUnverifiedKeyTracker, getUptime, getVersion, getVersionNumber, getWeakRef, gotARK, grabQueuedMessageItems, grabSendLoadStatsASAP, handleMessage, handleReceivedPacket, hasFullNoderef, hashCode, hasLiveHandshake, incrementNumberOfSelections, incrementUOMSends, innerCalcNextHandshake, innerProcessNewNoderef, isBurstOnly, isConnected, isDisabled, isDisconnecting, isFetchingARK, isIgnoreSource, isLowCapacity, isLowUptime, isRoutable, isRoutingBackedOff, isRoutingBackedOff, isRoutingBackedOffEither, isSignatureVerificationSuccessfull, isUnroutableNewerVersion, isUnroutableOlderVersion, lastReceivedAckTime, lastReceivedDataPacketTime, lastReceivedPacketTime, lastSentPacketTime, loadSender, localRejectedOverload, makeLoadStats, matchesIP, matchesPeerAndPort, maxTimeBetweenReceivedAcks, maxTimeBetweenReceivedPackets, maybeOnConnect, maybeRekey, maybeSendPacket, maybeUpdateHandshakeIPs, neverConnected, noContactDetails, noLongerRoutable, noLongerRoutingTo, notifyDisconnecting, offer, onFound, onNotificationOnlyPacketSent, onRemove, onSetMaxOutputTransfers, onSetMaxOutputTransfersPeerLimit, onSetPeerAllocation, outputLoadTracker, paddingGen, ping, postUnlock, processDiffNoderef, processNewNoderef, publicInvalidVersion, publicReverseInvalidVersion, queueN2NM, receivedAck, receivedPacket, registerPeerNodeStatusChangeListener, rejectedGuaranteed, reportIncomingBytes, reportLoadStatus, reportOutgoingBytes, reportPing, reportRoutedTo, reportThrottledPacketSendTime, resentBytes, resetMandatoryBackoff, selectionRate, selectNegType, sendAsync, sendConnectedDiffNoderef, sendEncryptedPacket, sendingUOMJar, sendInitialMessages, sendNodeToNodeMessage, sendSync, sentHandshake, sentPacket, sentThrottledBytes, setAddedReason, setJFKBuffer, setKeyAgreementSchemeContext, setLastBackoffReason, setMainJarOfferedVersion, setPeerNodeStatus, setPeerNodeStatus, setRemoteDetectedPeer, setSendLoadStatsASAP, setTimeDelta, setUptime, shortToString, shouldAcceptAnnounce, shouldBeExcludedFromPeerList, shouldPadDataPackets, shouldRejectProbeRequest, shouldRejectSwapRequest, shouldThrottle, shouldThrottle, startProcessingDecryptedMessages, startRekeying, stopARKFetcher, successNotOverload, throttleRekey, timeCheckForLostPackets, timeLastConnected, timeLastConnectionCompleted, timeLastDisconnect, timeLastRoutable, timeSendAcks, timeSendHandshake, timeSinceAddedOrRestarted, timeSinceSentUOM, toString, transferFailed, transferSuccess, unqueueMessage, updateLocation, userToString, verified, wakeUpSender, write
public SeedClientPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto) throws FSParseException, PeerParseException, ReferenceSignatureVerificationException, PeerTooOldException
public PeerNodeStatus getStatus(boolean noHeavy)
PeerNode
public boolean isDarknet()
public boolean isOpennet()
public boolean isSeed()
public boolean isRealConnection()
PeerNode
isRealConnection
in class PeerNode
public void onSuccess(boolean insert, boolean ssk)
PeerNode
public boolean isRoutingCompatible()
PeerNode
isRoutingCompatible
in class PeerNode
public boolean canAcceptAnnouncements()
PeerNode
canAcceptAnnouncements
in class PeerNode
public boolean recordStatus()
recordStatus
in class PeerNode
public boolean handshakeUnknownInitiator()
handshakeUnknownInitiator
in class PeerNode
public int handshakeSetupType()
handshakeSetupType
in class PeerNode
public boolean shouldSendHandshake()
shouldSendHandshake
in class PeerNode
public boolean disconnected(boolean dumpMessageQueue, boolean dumpTrackers)
PeerNode
disconnected
in class PeerNode
dumpMessageQueue
- If true, clear the messages-to-send queue, and
change the bootID so even if we reconnect the other side will know that
a disconnect happened. If false, don't clear the messages yet. They
will be cleared after an hour if the peer is disconnected at that point.dumpTrackers
- If true, dump the SessionKey's (i.e. dump the
cryptographic data so we don't understand any packets they send us).
protected boolean ignoreLastGoodVersion()
ignoreLastGoodVersion
in class PeerNode
public boolean shouldDisconnectAndRemoveNow()
PeerNode
shouldDisconnectAndRemoveNow
in class PeerNode
protected void maybeClearPeerAddedTimeOnConnect()
maybeClearPeerAddedTimeOnConnect
in class PeerNode
protected boolean shouldExportPeerAddedTime()
shouldExportPeerAddedTime
in class PeerNode
protected void maybeClearPeerAddedTimeOnRestart(long now)
maybeClearPeerAddedTimeOnRestart
in class PeerNode
public void fatalTimeout()
PeerNode
fatalTimeout
in class PeerNode
public boolean shallWeRouteAccordingToOurPeersLocation(int htl)
shallWeRouteAccordingToOurPeersLocation
in class PeerNode
protected void onConnect()
PeerNode
public boolean isOpennetForNoderef()
isOpennetForNoderef
in class PeerNode
protected void writePeers()
PeerNode
writePeers
in class PeerNode
protected boolean fromAnonymousInitiator()
fromAnonymousInitiator
in class PeerNode