public class OpennetPeerNode extends PeerNode
PeerNode.IncomingLoadSummaryStats, PeerNode.SlotWaiterbackedOffPercent, 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 |
|---|
OpennetPeerNode(SimpleFieldSet fs,
Node node2,
NodeCrypto crypto,
OpennetManager opennet,
boolean fromLocal) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canAcceptAnnouncements()
Can we accept announcements from this node?
|
boolean |
equals(java.lang.Object o) |
SimpleFieldSet |
exportMetadataFieldSet(long now)
Export metadata about the node as a SimpleFieldSet
|
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.
|
OpennetManager.ConnectionType |
getAddedReason() |
PeerNodeStatus |
getStatus(boolean noHeavy)
Get a PeerNodeStatus for this node.
|
boolean |
isDarknet() |
boolean |
isDroppable(boolean ignoreDisconnect) |
freenet.node.OpennetPeerNode.NOT_DROP_REASON |
isDroppableWithReason(boolean ignoreDisconnect)
Is the peer droppable?
SIDE EFFECT: If we are now outside the grace period, we reset peerAddedTime and opennetPeerAddedReason.
|
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() |
freenet.node.OpennetManager.LinkLengthClass |
linkLengthClass() |
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 |
onRemove()
Called when the peer is removed from the PeerManager
|
void |
onSuccess(boolean insert,
boolean ssk)
Called when a request or insert succeeds.
|
boolean |
recordStatus() |
void |
setAddedReason(OpennetManager.ConnectionType connectionType) |
boolean |
shallWeRouteAccordingToOurPeersLocation(int htl) |
boolean |
shouldDisconnectAndRemoveNow()
Should this peer be disconnected and removed immediately?
|
protected boolean |
shouldExportPeerAddedTime() |
long |
timeLastSuccess() |
static boolean |
validateRef(SimpleFieldSet ref)
Is the SimpleFieldSet a valid noderef?
|
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, disconnected, dontRoute, dumpTracker, enterMandatoryBackoff, exportDiskFieldSet, exportFieldSet, exportVolatileFieldSet, failedRevocationTransfer, fatalTimeout, finishedSendingUOMJar, forceCancelDisconnecting, forceDisconnect, fromAnonymousInitiator, fullPacketQueued, 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, handshakeSetupType, handshakeUnknownInitiator, 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, onFound, onNotificationOnlyPacketSent, 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, 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, writepublic OpennetPeerNode(SimpleFieldSet fs, Node node2, NodeCrypto crypto, OpennetManager opennet, boolean fromLocal) throws FSParseException, PeerParseException, ReferenceSignatureVerificationException, PeerTooOldException
public PeerNodeStatus getStatus(boolean noHeavy)
PeerNodepublic boolean isRoutingCompatible()
PeerNodeisRoutingCompatible in class PeerNodepublic boolean isDarknet()
public boolean isOpennet()
public boolean isSeed()
public boolean isDroppable(boolean ignoreDisconnect)
public freenet.node.OpennetPeerNode.NOT_DROP_REASON isDroppableWithReason(boolean ignoreDisconnect)
public void onSuccess(boolean insert,
boolean ssk)
PeerNodepublic void onRemove()
PeerNodepublic SimpleFieldSet exportMetadataFieldSet(long now)
PeerNodeexportMetadataFieldSet in class PeerNodepublic final long timeLastSuccess()
public static boolean validateRef(SimpleFieldSet ref)
public boolean isRealConnection()
PeerNodeisRealConnection in class PeerNodepublic boolean recordStatus()
recordStatus in class PeerNodepublic final boolean shouldDisconnectAndRemoveNow()
PeerNodeshouldDisconnectAndRemoveNow in class PeerNodeprotected void onConnect()
PeerNodepublic void setAddedReason(OpennetManager.ConnectionType connectionType)
setAddedReason in class PeerNodepublic OpennetManager.ConnectionType getAddedReason()
getAddedReason in class PeerNodeprotected void maybeClearPeerAddedTimeOnConnect()
maybeClearPeerAddedTimeOnConnect in class PeerNodeprotected boolean shouldExportPeerAddedTime()
shouldExportPeerAddedTime in class PeerNodeprotected void maybeClearPeerAddedTimeOnRestart(long now)
maybeClearPeerAddedTimeOnRestart in class PeerNodepublic void fatalTimeout()
PeerNodefatalTimeout in class PeerNodepublic boolean shallWeRouteAccordingToOurPeersLocation(int htl)
shallWeRouteAccordingToOurPeersLocation in class PeerNodepublic freenet.node.OpennetManager.LinkLengthClass linkLengthClass()
public boolean isOpennetForNoderef()
isOpennetForNoderef in class PeerNodepublic boolean canAcceptAnnouncements()
PeerNodecanAcceptAnnouncements in class PeerNodeprotected void writePeers()
PeerNodewritePeers in class PeerNode