![]() |
Diffusion Apple API 6.11.5
Unified Client Library for iOS, tvOS and OS X / macOS
|
A session configuration defines behavior and policies to use when connecting to Diffusion.
Class Methods | |
(NSUInteger) | + defaultRecoveryBufferSize |
(NSTimeInterval) | + defaultConnectionTimeout |
(NSUInteger) | + maximumMessageSizeMinimum |
(NSUInteger) | + defaultMaximumMessageSize |
(NSUInteger) | + defaultMaximumQueueSize |
Properties | |
NSString * | principal |
PTDiffusionCredentials * | credentials |
NSNumber * | reconnectionTimeout |
id< PTDiffusionSessionReconnectionStrategy > | reconnectionStrategy |
PTDiffusionRetryStrategy * | initialRetryStrategy |
NSUInteger | recoveryBufferSize |
NSUInteger | maximumMessageSize |
NSUInteger | maximumQueueSize |
NSTimeInterval | connectionTimeout |
NSDictionary * | sslOptions |
NSDictionary< NSString *, NSString * > * | properties |
PTDiffusionHTTPProxyConfiguration * | httpProxyConfiguration |
id< PTDiffusionSessionStateChangeDelegate > | sessionStateListener |
Instance Methods | |
(instancetype) | - initWithPrincipal:credentials: |
(BOOL) | - isEqualToSessionConfiguration: |
+ (NSTimeInterval) defaultConnectionTimeout |
The default connection timeout (2 seconds).
+ (NSUInteger) defaultMaximumMessageSize |
The default maximum message size in bytes.
The maximum message size limits the size of received messages. This default value is NSUIntegerMax, so the message size is effectively unlimited.
+ (NSUInteger) defaultMaximumQueueSize |
The default maximum outbound queue size in messages.
+ (NSUInteger) defaultRecoveryBufferSize |
The default recovery buffer size in messages.
- (instancetype) initWithPrincipal: | (nullable NSString *) | principal | |
credentials: | (nullable PTDiffusionCredentials *) | credentials | |
Returns a session configuration object initialized with the given principal and credentials.
principal | The security principal to use when opening the session. A value of nil dictates that no principal name will be associated with the session, indicating anonymous authentication. |
credentials | The security credentials to use when opening the session. A value of nil dictates that no credentials will be used when authenticating the session. |
- (BOOL) isEqualToSessionConfiguration: | (nullable PTDiffusionSessionConfiguration *) | sessionConfiguration |
Compares the receiver to the given session configuration.
sessionConfiguration | The session configuration object with which to compare the receiver. |
YES
if the receiver and the given session configuration will have the same effect.+ (NSUInteger) maximumMessageSizeMinimum |
The lowest value that the maximum message size can be set to in bytes.
|
readnonatomicassign |
The connection timeout.
This constrains the time taken to establish an initial connection to the server. The server is responsible for limiting the overall time taken to complete a connection once it has received the request.
|
readnonatomiccopy |
The security credentials to use when opening the session.
A value of nil
dictates that no credentials will be used when authenticating the session.
|
readnonatomiccopy |
Configuration of the HTTP Proxy that should be used to make connections to the server.
This allows connection to a server using HTTP CONNECT tunneling through the specified proxy.
A value of nil
dictates that a proxy is not used. This is the default.
|
readnonatomicassign |
The initial retry strategy.
The strategy will determine whether a failure to open a session due to a SessionEstablishmentTransientException should be retried and if so, at what interval and for how many attempts.
If no initial retry strategy is set, there will be no attempt to retry after such failure.
|
readnonatomicassign |
The maximum message size in bytes.
This constrains the size of messages that may be received from the server and thus the size of any content that can be received. The limit protects against unexpectedly large messages.
|
readnonatomicassign |
The maximum size of the outbound message queue for the connection.
The outbound message queue should be large enough to accommodate all the messages sent to the server. This would include topic updates, messaging and service requests such as registering a handler.
It may be necessary to increase this value for applications that send messages in bursts, or continue to send messages when a session is disconnected and reconnecting. Larger values allow more messages to be queued, and increase the memory footprint of the session.
If the outbound message queue fills, sending a message will cause the session to close with an error.
|
readnonatomiccopy |
The security principal to use when opening the session.
A value of nil
dictates that no principal name will be associated with the session, indicating anonymous authentication.
|
readnonatomiccopy |
User-defined session properties.
These properties will be provided to the server when a session is created using this session configuration. They will be validated during authentication and may be discarded or changed.
A value of nil
or an empty dictionary indicates that no user-defined session properties will be provided to the server on connection.
|
readnonatomicassign |
The reconnection strategy that will be used on connection failure.
A value of nil
when a valid reconnectionTimeout has been set dictates that the default reconnection strategy will be employed.
|
readnonatomicassign |
The reconnection timeout in seconds that will be used on connection failure.
The reconnection timeout boxed by this number is accessed as a double representing an NSTimeInterval.
A value of nil
or a negative boxed value both dictate that reconnection will be disabled.
|
readnonatomicassign |
The recovery buffer size in messages; can be zero.
If the server is configured to support reconnection, a session established with a non-zero reconnection time retains a buffer of sent messages. If the session disconnects and reconnects, this buffer is used to re-send messages that the server has not received.
Higher values increase the chance of successful reconnection, but increase the per-session memory footprint.
|
readnonatomicassign |
The optional listener interface for a session which may be used to receive state notifications.
|
readnonatomiccopy |
Security settings to be applied to the underlying transport streams for SSL/TLS encrypted connections.
A value of nil
or an empty dictionary indicates that default settings, as defined by the host operating system, will be applied.
Supported keys are documented by Apple under 'CFStream Property SSL Settings Constants' in their Core Foundation CFStream Reference.
For example, a rudimentary approach to allowing otherwise disallowed self-signed certificates could be to disable validation of the certificate chain entirely:
configuration.sslOptions = [NSDictionary dictionaryWithObject:kCFBooleanFalse forKey:kCFStreamSSLValidatesCertificateChain];