コード例 #1
0
 internal static unsafe StatelessServicePartition FromNative(NativeTypes.FABRIC_STATELESS_SERVICE_PARTITION_QUERY_RESULT_ITEM statelessPartitionResultItem)
 {
     NativeTypes.FABRIC_SERVICE_PARTITION_INFORMATION *nativePartitionInformation = (NativeTypes.FABRIC_SERVICE_PARTITION_INFORMATION *)statelessPartitionResultItem.PartitionInformation;
     return(new StatelessServicePartition(
                ServicePartitionInformation.FromNative(*nativePartitionInformation),
                statelessPartitionResultItem.InstanceCount,
                (HealthState)statelessPartitionResultItem.HealthState,
                (ServicePartitionStatus)statelessPartitionResultItem.PartitionStatus));
 }
コード例 #2
0
 public Instance()
 {
     this.NativePartition       = new TNativePartition();
     this.NativeReplicator      = new TNativeReplicator();
     this.NativeStateReplicator = new TNativeStateReplicator();
     this.Broker    = StatefulPartitionTest.CreateDefaultBroker();
     this.Partition = new StatefulServicePartition(
         this.NativePartition,
         ServicePartitionInformation.FromNative(StatefulPartitionTest.DefaultPartitionInfo));
 }
コード例 #3
0
        public void StatefulPartition_Creation_ServicePartitionInfoIsCreated()
        {
            var rv = StatefulPartitionTest.ReplicatorCreationHelper();

            var expected = ServicePartitionInformation.FromNative(StatefulPartitionTest.DefaultPartitionInfo);
            var actual   = rv.Item2.PartitionInfo;

            Assert.AreEqual <Guid>(expected.Id, actual.Id);
            Assert.AreEqual(expected.GetType(), actual.GetType());
            Assert.AreEqual <Guid>(expected.Id, (Guid)rv.Item2.PartitionInfo.Id);
        }
コード例 #4
0
 internal static unsafe StatefulServicePartition FromNative(NativeTypes.FABRIC_STATEFUL_SERVICE_PARTITION_QUERY_RESULT_ITEM statefulPartitionResultItem)
 {
     NativeTypes.FABRIC_SERVICE_PARTITION_INFORMATION *nativePartitionInformation = (NativeTypes.FABRIC_SERVICE_PARTITION_INFORMATION *)statefulPartitionResultItem.PartitionInformation;
     NativeTypes.FABRIC_STATEFUL_SERVICE_PARTITION_QUERY_RESULT_ITEM_EX1 *statefulPartitionResultItemEx1 = (NativeTypes.FABRIC_STATEFUL_SERVICE_PARTITION_QUERY_RESULT_ITEM_EX1 *)statefulPartitionResultItem.Reserved;
     return(new StatefulServicePartition(
                ServicePartitionInformation.FromNative(*nativePartitionInformation),
                statefulPartitionResultItem.TargetReplicaSetSize,
                statefulPartitionResultItem.MinReplicaSetSize,
                (HealthState)statefulPartitionResultItem.HealthState,
                (ServicePartitionStatus)statefulPartitionResultItem.PartitionStatus,
                TimeSpan.FromSeconds(statefulPartitionResultItem.LastQuorumLossDurationInSeconds),
                Epoch.FromNative(statefulPartitionResultItemEx1->PrimaryEpoch)));
 }
コード例 #5
0
        public void StatelessPartition_Creation_PartitionInfoIsParsed()
        {
            var data = this.Create();

            var stub      = data.Item2;
            var partition = data.Item1;

            var expected = ServicePartitionInformation.FromNative(StatelessPartitionTest.DefaultPartitionInfo);
            var actual   = ((StatelessServicePartition)partition).PartitionInfo;

            Assert.AreEqual <Guid>(expected.Id, actual.Id);
            Assert.AreEqual(expected.GetType(), actual.GetType());
            Assert.AreEqual <Guid>(expected.Id, (Guid)partition.PartitionInfo.Id);
        }
コード例 #6
0
        private static Tuple <StatefulNativePartitionStubForStatefulPartitionCreation, StatefulServicePartition, FabricReplicator> ReplicatorCreationHelper(ReplicatorSettings settings = null)
        {
            StatefulServiceReplicaBroker broker = StatefulPartitionTest.CreateDefaultBroker(settings);
            var nativePartition = new StatefulNativePartitionStubForStatefulPartitionCreation
            {
                NativePartitionInfo = StatefulPartitionTest.DefaultPartitionInfo,
                ReplicatorOut       = new ReplicatorStubBase(),
                StateReplicatorOut  = new StateReplicatorStubBase()
            };

            StatefulServicePartition partition = new StatefulServicePartition(nativePartition, ServicePartitionInformation.FromNative(nativePartition.GetPartitionInfo()));

            var fabricReplicator = partition.CreateReplicator((IStateProvider)broker.Service, settings);

            return(Tuple.Create(nativePartition, partition, fabricReplicator));
        }
コード例 #7
0
 private static ServicePartitionInformation ServicePartitionParsingTestHelper(NativeTypes.FABRIC_SERVICE_PARTITION_INFORMATION nativePartitionInfo)
 {
     return(ServicePartitionInformation.FromNative(nativePartitionInfo));
 }