Skip to content

QuantumGate::PeerQueryParameters

Karel Donk edited this page Sep 27, 2018 · 6 revisions

QuantumGate::PeerQueryParameters is a struct used to query a QuantumGate instance for peers. A combination of criteria can be specified through the member variables to match against peers.

Definition

struct PeerQueryParameters
{
     enum class RelayOption
     {
          Both, NotRelayed, Relayed
     };

     RelayOption Relays{ RelayOptions::Both };

     enum class AuthenticationOption
     {
          Both, NotAuthenticated, Authenticated
     };

     AuthenticationOption Authentication{ AuthenticationOptions::Both };

     enum class ConnectionOption
     {
          Both, Inbound, Outbound
     };

     ConnectionOption Connections{ ConnectionOptions::Both };

     struct Extenders
     {
          enum class IncludeOption
          {
               NoneOf, AllOf, OneOf
          };

          Set<ExtenderUUID> UUIDs;
          IncludeOption Include{ IncludeOptions::NoneOf };
     } Extenders;
};

Member variables

Name Description
Relays The PeerQueryParameters::RelayOption. Set to Relayed if you want only relayed connections to be returned, or NotRelayed if you want only normal connections to be returned. The default is Both, meaning that both normal and relayed connections will be returned.
Authentication The PeerQueryParameters::AuthenticationOption. Set to Authenticated if you want only authenticated peers to be returned, or NotAuthenticated if you want only unauthenticated peers to be returned. The default is Both, meaning that both authenticated and unauthenticated peers will be returned.
Connections The PeerQueryParameters::ConnectionOption. Set to Inbound if you want only inbound connections to be returned, or Outbound if you want only outbound connections to be returned. The default is Both, meaning that both inbound and outbound connections will be returned.
Extenders::UUIDs A set of extender UUIDs.
Extenders::Include The PeerQueryParameters::Extenders::IncludeOption indicating how to use the extender UUIDs in the Extenders::UUIDs member variable.

If this value is set to NoneOf, then only peers that have none of the extenders specified in Extenders::UUIDs will be returned.
If this value is set to AllOf, then only peers that have all of the extenders specified in Extenders::UUIDs will be returned.
If this value is set to OneOf, then only peers that have at least one of the extenders specified in Extenders::UUIDs will be returned.
Clone this wiki locally