public class SeedServerPeerNode 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 |
---|
SeedServerPeerNode(SimpleFieldSet fs,
Node node2,
NodeCrypto crypto,
boolean fromLocal) |
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.
|
java.net.InetAddress[] |
getInetAddresses() |
PeerNodeStatus |
getStatus(boolean noHeavy)
Get a PeerNodeStatus for this node.
|
int |
handshakeSetupType() |
boolean |
handshakeUnknownInitiator() |
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) |
void |
onSuccess(boolean insert,
boolean ssk)
Called when a request or insert succeeds.
|
boolean |
recordStatus() |
protected void |
sendInitialMessages()
Send any high level messages that need to be sent on connect.
|
boolean |
shallWeRouteAccordingToOurPeersLocation(int htl) |
boolean |
shouldDisconnectAndRemoveNow()
Should this peer be disconnected and removed immediately?
|
protected boolean |
shouldExportPeerAddedTime() |
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, fromAnonymousInitiator, 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, ignoreLastGoodVersion, 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, onConnect, 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, sendNodeToNodeMessage, sendSync, sentHandshake, sentPacket, sentThrottledBytes, setAddedReason, setJFKBuffer, setKeyAgreementSchemeContext, setLastBackoffReason, setMainJarOfferedVersion, setPeerNodeStatus, setPeerNodeStatus, setRemoteDetectedPeer, setSendLoadStatsASAP, setTimeDelta, setUptime, shortToString, shouldAcceptAnnounce, shouldBeExcludedFromPeerList, shouldPadDataPackets, shouldRejectProbeRequest, shouldRejectSwapRequest, shouldSendHandshake, 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 SeedServerPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto, boolean fromLocal) 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 recordStatus()
recordStatus
in class PeerNode
protected void sendInitialMessages()
PeerNode
sendInitialMessages
in class PeerNode
public java.net.InetAddress[] getInetAddresses()
public boolean handshakeUnknownInitiator()
handshakeUnknownInitiator
in class PeerNode
public int handshakeSetupType()
handshakeSetupType
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).
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
public boolean isOpennetForNoderef()
isOpennetForNoderef
in class PeerNode
public boolean canAcceptAnnouncements()
PeerNode
canAcceptAnnouncements
in class PeerNode
protected void writePeers()
PeerNode
writePeers
in class PeerNode