Diffusion Apple API  5.9.24
Unified Client Library for iOS, OS X and tvOS
 All Classes Functions Variables Properties Pages
Class Methods | Properties | Instance Methods | List of all members
PTDiffusionSessionConfiguration Class Reference

Introduction

A session configuration defines behavior and policies to use when connecting to Diffusion.

See Also
PTDiffusionSession
Since
5.6
Inheritance diagram for PTDiffusionSessionConfiguration:
PTDiffusionMutableSessionConfiguration

Class Methods

(NSTimeInterval) + defaultConnectionTimeout
 

Properties

NSString * principal
 
PTDiffusionCredentialscredentials
 
id
< PTDiffusionSessionErrorHandler
errorHandler
 
NSNumber * reconnectionTimeout
 
id
< PTDiffusionSessionReconnectionStrategy
reconnectionStrategy
 
NSTimeInterval connectionTimeout
 
NSDictionary * sslOptions
 

Instance Methods

(instancetype) - initWithPrincipal:credentials:
 
(BOOL) - isEqualToSessionConfiguration:
 

Method Documentation

+ (NSTimeInterval) defaultConnectionTimeout

The default connection timeout (2 seconds).

Since
5.7
- (instancetype) initWithPrincipal: (nullable NSString *)  principal
credentials: (nullable PTDiffusionCredentials *)  credentials 

Returns a session configuration object initialized with the given principal and credentials.

Parameters
principalThe 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.
credentialsThe security credentials to use when opening the session. A value of nil dictates that no credentials will be used when authenticating the session.
Since
5.6
- (BOOL) isEqualToSessionConfiguration: (nullable PTDiffusionSessionConfiguration *)  sessionConfiguration

Compares the receiver to the given session configuration.

Parameters
sessionConfigurationThe session configuration object with which to compare the receiver.
Returns
YES if the receiver and the given session configuration will have the same effect.
Since
5.6

Property Documentation

- (NSTimeInterval) connectionTimeout
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.

Since
5.7
- (PTDiffusionCredentials*) credentials
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.

Since
5.6
- (id<PTDiffusionSessionErrorHandler>) errorHandler
readnonatomicassign

The error handler to be used once the session has been opened and after the open completion handler has been called.

A value of nil dictates that the default error handler will be employed.

Deprecated:
Since 5.9. Will be removed in a future release. Replaced by the error property on PTDiffusionSessionState.
Since
5.6.6
- (NSString*) principal
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.

Since
5.6
- (id<PTDiffusionSessionReconnectionStrategy>) reconnectionStrategy
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.

Since
5.6
- (NSNumber*) reconnectionTimeout
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.

Since
5.6
- (NSDictionary*) sslOptions
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];
Since
5.7.1