예제 #1
0
        private static long CreateDeviceId(IBeaconConfiguration configuration, IPrnGenerator randomGenerator)
        {
            if (configuration.PrivacyConfiguration.IsDeviceIdSendingAllowed)
            {
                return(configuration.OpenKitConfiguration.DeviceId);
            }

            return(randomGenerator.NextPositiveLong());
        }
 internal TestBeaconBuilder()
 {
     logger            = Substitute.For <ILogger>();
     beaconCache       = Substitute.For <IBeaconCache>();
     clientIpAddress   = "127.0.0.1";
     sessionIdProvider = Substitute.For <ISessionIdProvider>();
     threadIdProvider  = Substitute.For <IThreadIdProvider>();
     timingProvider    = Substitute.For <ITimingProvider>();
     randomGenerator   = Substitute.For <IPrnGenerator>();
 }
예제 #3
0
        internal SessionCreator(ISessionCreatorInput input, string clientIpAddress)
        {
            Logger = input.Logger;
            openKitConfiguration = input.OpenKitConfiguration;
            privacyConfiguration = input.PrivacyConfiguration;
            BeaconCache          = input.BeaconCache;
            ThreadIdProvider     = input.ThreadIdProvider;
            TimingProvider       = input.TimingProvider;
            ClientIpAddress      = clientIpAddress;

            serverId = input.CurrentServerId;
            continuousSessionIdProvider     = input.SessionIdProvider;
            continuousRandomNumberGenerator = new DefaultPrnGenerator();

            InitializeFixedNumberProviders();
        }
 internal TestBeaconBuilder With(IPrnGenerator generator)
 {
     randomGenerator = generator;
     return(this);
 }
예제 #5
0
 public FixedPrnGenerator(IPrnGenerator rng)
 {
     randomLongNumber = rng.NextPositiveLong();
     randomIntNumber  = rng.NextPositiveInt();
 }
예제 #6
0
 public FixedPrnGenerator(IPrnGenerator rng)
 {
     randomLongNumber = rng.NextPositiveLong();
     randomPercentage = rng.NextPercentageValue();
 }