NetworkOption

public enum NetworkOption : UInt32

A set of options that can be set globally for the FoundationDB API.

  • Undocumented

    Declaration

    Swift

    public static let localAddress: NetworkOption?
  • Undocumented

    Declaration

    Swift

    public static let clusterFile: NetworkOption?
  • Enables trace output to a file in a directory of the clients choosing

    Declaration

    Swift

    case traceEnable = 30
  • Sets the maximum size in bytes of a single trace output file. This value should be in the range [0, INT64_MAX]. If the value is set to 0, there is no limit on individual file size. The default is a maximum size of 10,485,760 bytes.

    Declaration

    Swift

    case traceRollSize = 31
  • Sets the maximum size of all the trace output files put together. This value should be in the range [0, INT64_MAX]. If the value is set to 0, there is no limit on the total size of the files. The default is a maximum size of 104,857,600 bytes. If the default roll size is used, this means that a maximum of 10 trace files will be written at a time.

    Declaration

    Swift

    case traceMaxLogsSize = 32
  • Sets the ‘logGroup’ attribute with the specified value for all events in the trace output files. The default log group is ‘default’.

    Declaration

    Swift

    case traceLogGroup = 33
  • Set internal tuning or debugging knobs

    Declaration

    Swift

    case knob = 40
  • Set the TLS plugin to load. This option, if used, must be set before any other TLS options

    Declaration

    Swift

    case tlsPlugin = 41
  • Set the certificate chain

    Declaration

    Swift

    case tlsCertBytes = 42
  • Set the file from which to load the certificate chain

    Declaration

    Swift

    case tlsCertPath = 43
  • Set the private key corresponding to your own certificate

    Declaration

    Swift

    case tlsKeyBytes = 45
  • Set the file from which to load the private key corresponding to your own certificate

    Declaration

    Swift

    case tlsKeyPath = 46
  • Set the peer certificate field verification criteria

    Declaration

    Swift

    case tlsVerifyPeers = 47
  • Undocumented

    Declaration

    Swift

    case buggifyEnable = 48
  • Undocumented

    Declaration

    Swift

    case buggifyDisable = 49
  • Set the probability of a BUGGIFY section being active for the current execution. Only applies to code paths first traversed AFTER this option is changed.

    Declaration

    Swift

    case buggifySectionActivatedProbability = 50
  • Set the probability of an active BUGGIFY section being fired

    Declaration

    Swift

    case buggifySectionFiredProbability = 51
  • Set the ca bundle

    Declaration

    Swift

    case tlsCaBytes = 52
  • Set the file from which to load the certificate authority bundle

    Declaration

    Swift

    case tlsCaPath = 53
  • Set the passphrase for encrypted private key. Password should be set before setting the key for the password to be used.

    Declaration

    Swift

    case tlsPassword = 54
  • Disables the multi-version client API and instead uses the local client directly. Must be set before setting up the network.

    Declaration

    Swift

    case disableMultiVersionClientApi = 60
  • If set, callbacks from external client libraries can be called from threads created by the FoundationDB client library. Otherwise, callbacks will be called from either the thread used to add the callback or the network thread. Setting this option can improve performance when connected using an external client, but may not be safe to use in all environments. Must be set before setting up the network. WARNING: This feature is considered experimental at this time.

    Declaration

    Swift

    case callbacksOnExternalThreads = 61
  • Adds an external client library for use by the multi-version client API. Must be set before setting up the network.

    Declaration

    Swift

    case externalClientLibrary = 62
  • Searches the specified path for dynamic libraries and adds them to the list of client libraries for use by the multi-version client API. Must be set before setting up the network.

    Declaration

    Swift

    case externalClientDirectory = 63
  • Prevents connections through the local client, allowing only connections through externally loaded client libraries. Intended primarily for testing.

    Declaration

    Swift

    case disableLocalClient = 64
  • Disables logging of client statistics, such as sampled transaction activity.

    Declaration

    Swift

    case disableClientStatisticsLogging = 70
  • Enables debugging feature to perform slow task profiling. Requires trace logging to be enabled. WARNING: this feature is not recommended for use in production.

    Declaration

    Swift

    case enableSlowTaskProfiling = 71
  • This option is set automatically to communicate the list of supported clients to the active client.

    Declaration

    Swift

    case supportedClientVersions = 1000
  • This option is set automatically on all clients loaded externally using the multi-version API.

    Declaration

    Swift

    case externalClient = 1001
  • This option tells a child on a multiversion client what transport ID to use.

    Declaration

    Swift

    case externalClientTransportId = 1002