URLEndpointListenerConfiguration

@available(macOS 10.12, iOS 10.0, *)
public struct URLEndpointListenerConfiguration

ENTERPRISE EDITION ONLY.

The configuration used for configuring and creating a URLEndpointListener.

  • The database object associated with the listener.

    Declaration

    Swift

    @available(*, deprecated, message: "Use collections instead.")
    public let database: Database
  • The port that the listener will listen to. Default value is URLEndpointListenerConfiguration.defaultPort. If the value is 0, it means that the listener will automatically, select an available port to listen to when the listener is started.

    Declaration

    Swift

    public var port: UInt16?
  • The network interface in the form of the IP Address or network interface name such as en0 that the listener will listen to. The default value is nil which means that the listener will listen to all network interfaces.

    Declaration

    Swift

    public var networkInterface: String?
  • Disable TLS communication. The default value is URLEndpointListenerConfiguration.defaultDisableTls

    Declaration

    Swift

    public var disableTLS: Bool
  • The TLS Identity used for configuring TLS Communication. The default value is nil which means that a generated anonymous self-signed identity will be used unless the disableTLS property is set to YES.

    Declaration

    Swift

    public var tlsIdentity: TLSIdentity?
  • The authenticator used by the listener to authenticate clients.

    Declaration

    Swift

    public var authenticator: ListenerAuthenticator?
  • Allow delta sync when replicating with the listener. The default value is URLEndpointListenerConfiguration.defaultEnableDeltaSync.

    Declaration

    Swift

    public var enableDeltaSync: Bool
  • Allow only pull replication to pull changes from the listener. The default value is URLEndpointListenerConfiguration.defaultReadOnly.

    Declaration

    Swift

    public var readOnly: Bool
  • The collections available for replication.

    When the init(database:) is used, the collections property will contain the default collection.

    Declaration

    Swift

    public var collections: [Collection]
  • Init with the database object to make the default collection available for the replication.

    Declaration

    Swift

    @available(*, deprecated, message: "Use init(collections:﹚ instead.")
    public init(database: Database)

    Parameters

    database

    The local database.

  • Init with the collections that will be available for replication.

    The specified collections must contain at least one collection, otherwise an Invalid Argument Exception will be thrown.

    All of the collections must belong to the same database, otherwise an Invalid Argument Exception will be thrown.

    If one of the collections is removed during the replication, the listener would be stopped, and the connections to the connected clients would be closed with an error - Need to sync the behavior and error code with SG.

    Declaration

    Swift

    public init(collections: [Collection])
  • Initializes a ListenerConfiguration’s builder with the given configuration object.

    Declaration

    Swift

    public init(config: URLEndpointListenerConfiguration)

    Parameters

    config

    The configuration object.

  • [0] No port specified, the OS will assign one

    Declaration

    Swift

    static let defaultPort: UInt16
  • [false] TLS is enabled on the connection

    Declaration

    Swift

    static let defaultDisableTls: Bool
  • [false] The listener will allow database writes

    Declaration

    Swift

    static let defaultReadOnly: Bool
  • [false] Delta sync is disabled for the listener

    Declaration

    Swift

    static let defaultEnableDeltaSync: Bool