// *** constructor *** /// <summary> /// Creates a new instance of type Beacon /// </summary> /// <param name="logger">Logger for logging messages</param> /// <param name="cache">Cache storing beacon related data</param> /// <param name="configuration">OpenKit related configuration</param> /// <param name="clientIPAddress">The client's IP address</param> /// <param name="threadIdProvider">Provider for retrieving thread id</param> /// <param name="timingProvider">Provider for time related methods</param> public Beacon(ILogger logger, BeaconCache beaconCache, OpenKitConfiguration configuration, string clientIPAddress, IThreadIDProvider threadIDProvider, ITimingProvider timingProvider) { this.logger = logger; this.beaconCache = beaconCache; this.sessionNumber = configuration.NextSessionNumber; this.timingProvider = timingProvider; this.configuration = configuration; this.threadIDProvider = threadIDProvider; this.sessionStartTime = timingProvider.ProvideTimestampInMilliseconds(); if (InetAddressValidator.IsValidIP(clientIPAddress)) { this.clientIPAddress = clientIPAddress; } else { this.clientIPAddress = string.Empty; } // store the current http configuration this.httpConfiguration = configuration.HTTPClientConfig; basicBeaconData = CreateBasicBeaconData(); }
protected OpenKit(ILogger logger, OpenKitConfiguration configuration, IHTTPClientProvider httpClientProvider, ITimingProvider timingProvider, IThreadIDProvider threadIDProvider) { if (logger.IsInfoEnabled) { //TODO: Use proper version information (incl. the build number) logger.Info(configuration.OpenKitType + " " + GetType().Name + " " + OpenKitConstants.DEFAULT_APPLICATION_VERSION + " instantiated"); } if (logger.IsDebugEnabled) { logger.Debug( "applicationName=" + configuration.ApplicationName + ", applicationID=" + configuration.ApplicationID + ", deviceID=" + configuration.DeviceID + ", endpointURL=" + configuration.EndpointURL ); } this.configuration = configuration; this.logger = logger; this.timingProvider = timingProvider; this.threadIDProvider = threadIDProvider; beaconCache = new BeaconCache(logger); beaconSender = new BeaconSender(logger, configuration, httpClientProvider, timingProvider); beaconCacheEvictor = new BeaconCacheEvictor(logger, beaconCache, configuration.BeaconCacheConfig, timingProvider); }
protected OpenKit(ILogger logger, OpenKitConfiguration configuration, IHTTPClientProvider httpClientProvider, ITimingProvider timingProvider, IThreadIDProvider threadIDProvider) { this.configuration = configuration; this.logger = logger; this.timingProvider = timingProvider; this.threadIDProvider = threadIDProvider; beaconCache = new BeaconCache(); beaconSender = new BeaconSender(configuration, httpClientProvider, timingProvider); beaconCacheEvictor = new BeaconCacheEvictor(logger, beaconCache, configuration.BeaconCacheConfig, timingProvider); }
/// <summary> /// Creates a new instance of type Beacon /// </summary> /// <param name="logger">Logger for logging messages</param> /// <param name="cache">Cache storing beacon related data</param> /// <param name="configuration">OpenKit related configuration</param> /// <param name="clientIPAddress">The client's IP address</param> /// <param name="threadIdProvider">Provider for retrieving thread id</param> /// <param name="timingProvider">Provider for time related methods</param> /// <param name="randomNumberGenerator">Random number generator</param> internal Beacon(ILogger logger, BeaconCache beaconCache, OpenKitConfiguration configuration, string clientIPAddress, IThreadIDProvider threadIDProvider, ITimingProvider timingProvider, IPRNGenerator randomNumberGenerator) { this.logger = logger; this.beaconCache = beaconCache; BeaconConfiguration = configuration.BeaconConfig; if (beaconConfiguration.DataCollectionLevel == DataCollectionLevel.USER_BEHAVIOR) { SessionNumber = configuration.NextSessionNumber; DeviceID = Truncate(configuration.DeviceID); } else { SessionNumber = 1; DeviceID = randomNumberGenerator.NextLong(long.MaxValue) .ToString(CultureInfo.InvariantCulture); } this.timingProvider = timingProvider; this.configuration = configuration; this.threadIDProvider = threadIDProvider; this.randomNumberGenerator = randomNumberGenerator; sessionStartTime = timingProvider.ProvideTimestampInMilliseconds(); if (InetAddressValidator.IsValidIP(clientIPAddress)) { this.clientIPAddress = clientIPAddress; } else { this.clientIPAddress = string.Empty; } // store the current http configuration httpConfiguration = configuration.HTTPClientConfig; basicBeaconData = CreateBasicBeaconData(); }
// *** constructor *** /// <summary> /// Creates a new instance of type Beacon /// </summary> /// <param name="logger">Logger for logging messages</param> /// <param name="cache">Cache storing beacon related data</param> /// <param name="configuration">OpenKit related configuration</param> /// <param name="clientIPAddress">The client's IP address</param> /// <param name="threadIdProvider">Provider for retrieving thread id</param> /// <param name="timingProvider">Provider for time related methods</param> public Beacon(ILogger logger, BeaconCache beaconCache, OpenKitConfiguration configuration, string clientIPAddress, IThreadIDProvider threadIDProvider, ITimingProvider timingProvider) : this(logger, beaconCache, configuration, clientIPAddress, threadIDProvider, timingProvider, new DefaultPRNGenerator()) { }
public void Setup() { threadIdProvider = Substitute.For <IThreadIDProvider>(); timingProvider = Substitute.For <ITimingProvider>(); logger = Substitute.For <ILogger>(); }