public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
        {
            var primary   = namespaces.First();
            var secondary = namespaces.Last();

            yield return(new RuntimeNamespaceInfo(primary.Alias, primary.ConnectionString, primary.Purpose, Mode == FailOverMode.Primary ? NamespaceMode.Active : NamespaceMode.Passive));

            yield return(new RuntimeNamespaceInfo(secondary.Alias, secondary.ConnectionString, secondary.Purpose, Mode == FailOverMode.Secondary ? NamespaceMode.Active : NamespaceMode.Passive));
        }
Пример #2
0
 public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
 {
     log.Info($"Determining namespace for {partitioningIntent}");
     return(namespaces.Select(selector: namespaceInfo =>
     {
         log.Info($"Choosing namespace {namespaceInfo.Alias} ({namespaceInfo.Connection})");
         return new RuntimeNamespaceInfo(
             alias: namespaceInfo.Alias,
             connectionString: namespaceInfo.Connection,
             purpose: NamespacePurpose.Partitioning,
             mode: NamespaceMode.Active);
     }));
 }
Пример #3
0
        public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
        {
            if (partitioningIntent == PartitioningIntent.Sending)
            {
                var @namespace = namespaces.Get();
                yield return(new RuntimeNamespaceInfo(@namespace.Alias, @namespace.ConnectionString, @namespace.Purpose, NamespaceMode.Active));
            }

            if (partitioningIntent == PartitioningIntent.Receiving || partitioningIntent == PartitioningIntent.Creating)
            {
                var mode = NamespaceMode.Active;
                for (var i = 0; i < namespaces.Size; i++)
                {
                    var @namespace = namespaces.Get();
                    yield return(new RuntimeNamespaceInfo(@namespace.Alias, @namespace.ConnectionString, @namespace.Purpose, mode));

                    mode = NamespaceMode.Passive;
                }
            }
        }
Пример #4
0
 public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Return a set of namespaces required by strategy for <see cref="PartitioningIntent"/>.
 /// </summary>
 public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
 {
     return(runtimeNamespaces);
 }
Пример #6
0
 public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
 {
     throw new NotImplementedException(); // not relevant for the test
 }
        public IEnumerable <RuntimeNamespaceInfo> GetNamespaces(PartitioningIntent partitioningIntent)
        {
            var @namespace = namespaces.First();

            yield return(new RuntimeNamespaceInfo(@namespace.Alias, @namespace.ConnectionString, @namespace.Purpose, NamespaceMode.Active));
        }