MCPcopy Create free account
hub / github.com/apple/foundationdb / getOrOpenPeer

Method getOrOpenPeer

fdbrpc/FlowTransport.actor.cpp:1514–1528  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1512}
1513
1514Reference<Peer> TransportData::getOrOpenPeer(NetworkAddress const& address, bool startConnectionKeeper) {
1515 auto peer = getPeer(address);
1516 if (!peer) {
1517 peer = makeReference<Peer>(this, address);
1518 if (startConnectionKeeper && !isLocalAddress(address)) {
1519 peer->connect = connectionKeeper(peer);
1520 }
1521 peers[address] = peer;
1522 if (address.isPublic()) {
1523 orderedAddresses.insert(address);
1524 }
1525 }
1526
1527 return peer;
1528}
1529
1530bool TransportData::isLocalAddress(const NetworkAddress& address) const {
1531 return address == localAddresses.getAddressList().address ||

Callers 5

deliverFunction · 0.80
addPeerReferenceMethod · 0.80
sendReliableMethod · 0.80
sendUnreliableMethod · 0.80

Calls 2

isPublicMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected