Esempio n. 1
0
        public static ISessionDataProvider GetProvider(ISessionConfiguration configuration)
        {
            ISessionDataProvider retVal = null;

            switch (configuration.Provider)
            {
            case ProviderTypeOptions.Sql:
                retVal = new SqlSessionDataProvider(configuration.ConnStringNameOrValue);
                break;

            case ProviderTypeOptions.Redis:
                retVal = new RedisSessionDataProvider(configuration.ConnStringNameOrValue, configuration.ApplicationKey);
                break;

            case ProviderTypeOptions.AeroSpike:
                retVal = new AeroSpikeSessionDataProvider(configuration.ConnStringNameOrValue, configuration.ApplicationKey);
                break;

            case ProviderTypeOptions.DynamoDB:
                retVal = new DynamoDBSessionDataProvider(configuration.ConnStringNameOrValue, configuration.ApplicationKey);
                break;

            case ProviderTypeOptions.Custom:
                if (string.IsNullOrWhiteSpace(configuration.CustomProviderType))
                {
                    throw new SessionConfigurationException(SessionResources.CustomProvider_Missing);
                }

                var provider = configuration.CustomProviderType.Construct();

                retVal = provider as ISessionDataProvider;

                if (retVal == null)
                {
                    throw new SessionConfigurationException(string.Format(SessionResources.CustomProvider_InvalidType, typeof(ISessionDataProvider).FullName));
                }
                break;
            }

            if (retVal != null)
            {
                retVal.Configuration = configuration;
            }

            return(retVal);
        }
Esempio n. 2
0
        public RioSession(int sessionId, ISessionConfiguration configuration, RioCompletionQueue sendingCompletionQueue, RioCompletionQueue receivingCompletionQueue, SerializationEngine serializationEngine)
        {
            Id             = sessionId;
            _configuration = configuration;

            _sendingCompletionQueue   = sendingCompletionQueue;
            _receivingCompletionQueue = receivingCompletionQueue;

            _sendingBufferManager   = RioBufferManager.Allocate(configuration.SendingBufferCount, _configuration.SendingBufferLength);
            _receivingBufferManager = RioBufferManager.Allocate(configuration.ReceivingBufferCount, _configuration.ReceivingBufferLength);

            _messageFramer = new MessageFramer(_receivingBufferManager);

            _threadLocalReceivingContext = new ThreadLocal <ReceivingContext>(() => new ReceivingContext(serializationEngine.Encoding));
            _threadLocalSendingContext   = new ThreadLocal <SendingContext>(() => new SendingContext(configuration, _sendingBufferManager, serializationEngine.Encoding));

            _serializationEngine = serializationEngine;
        }
        public static ISessionDataFormatter GetFormatter(ISessionConfiguration configuration)
        {
            var formatter = GetFormatterFromType(configuration.Formatter, configuration.CustomFormatterType);

            return(formatter);
        }
Esempio n. 4
0
 public SessionHandler(ISessionConfiguration configuration)
 {
     _sessions = new SessionCollection(configuration);
 }
Esempio n. 5
0
 public SessionStore(ISessionConfiguration configuration)
 {
     _configuration = configuration;
     _provider      = configuration.GetProvider();
 }
Esempio n. 6
0
 public SessionStore()
 {
     _configuration = SessionConfigurationManager.GetConfiguration();
     _provider      = _configuration.GetProvider();
 }
Esempio n. 7
0
 private void ApplyConfiguration(JobDataMap data)
 {
     ServiceConfiguration = (IServiceConfiguration)data[ServiceConfigurationContextPropertyName];
     RaceConfiguration = (IRaceConfiguration)data[RaceConfigurationContextPropertyName];
     SessionConfiguration = (ISessionConfiguration)data[SessionConfigurationContextPropertyName];
 }
Esempio n. 8
0
 public SendingContext(ISessionConfiguration configuration, RioBufferManager sendingBufferManager, Encoding encoding)
 {
     SendingBufferProvider = new SendingBufferProvider(configuration, sendingBufferManager);
     BinaryWriter          = new UnsafeBinaryWriter(encoding);
 }
 /// <summary>
 /// Sets the configuration for the api session,
 /// all currently created objects for <see cref="SessionStore"/> will continue to use the old configuration.
 /// </summary>
 /// <param name="apiSessionConfiguration">The configuration to set.</param>
 public static void SetConfiguration(ISessionConfiguration apiSessionConfiguration)
 {
     _apiSessionConfiguration = apiSessionConfiguration;
 }
Esempio n. 10
0
 public SendingBufferProvider(ISessionConfiguration configuration, RioBufferManager bufferManager)
 {
     _configuration = configuration;
     _bufferManager = bufferManager;
 }
Esempio n. 11
0
 public SessionCollection(ISessionConfiguration configuration)
 {
     _configuration = configuration;
 }
Esempio n. 12
0
 public DefaultSessionBuilder(ISessionConfiguration config)
     : base(config.GetConfiguration())
 {
 }