コード例 #1
0
ファイル: LockListForRW.cs プロジェクト: Azure/RingMaster
        /// <inheritdoc />
        public void AppendCreate(IPersistedDataFactory <Node> factory, IPersistedData data, long txtime)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            if (data == null)
            {
                throw new ArgumentNullException("data");
            }

            if (this.changelist == null)
            {
                this.changelist = this.createChangeList();
            }

            data.AppendCreate(this.changelist);

            if (this.changelist != null)
            {
                this.changelist.SetTime(txtime);
            }

            if (this.isLockDown)
            {
                return;
            }

            this.RunOnAbort(() =>
            {
                factory.Delete(data);
            });
        }
コード例 #2
0
ファイル: ClusterState.cs プロジェクト: Azure/RingMaster
        /// <summary>
        /// Initializes a new instance of the <see cref="ClusterState"/> class.
        /// </summary>
        /// <param name="factory">Persisted data factory object</param>
        public ClusterState(IPersistedDataFactory <Node> factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            this.thisMemberId  = factory.Name;
            this.MemberSet     = factory.GetAgreedMembers();
            this.MembersHealth = factory.GetHealth();
        }
コード例 #3
0
 /// <inheritdoc />
 public void AppendCreate(IPersistedDataFactory <Node> persFact, IPersistedData childData, long txTime)
 {
     throw new NotSupportedException();
 }