internal static unsafe InvokeQuorumLossDescription CreateFromNative(IntPtr nativeRaw) { NativeTypes.FABRIC_START_PARTITION_QUORUM_LOSS_DESCRIPTION native = *(NativeTypes.FABRIC_START_PARTITION_QUORUM_LOSS_DESCRIPTION *)nativeRaw; Guid operationId = native.OperationId; NativeTypes.FABRIC_PARTITION_SELECTOR nativePartitionSelector = *(NativeTypes.FABRIC_PARTITION_SELECTOR *)native.PartitionSelector; PartitionSelector partitionSelector = PartitionSelector.CreateFromNative(nativePartitionSelector); TimeSpan quorumLossDuration = TimeSpan.FromMilliseconds(native.QuorumLossDurationInMilliSeconds); return(new InvokeQuorumLossDescription(operationId, partitionSelector, (QuorumLossMode)native.QuorumLossMode, quorumLossDuration)); }
internal IntPtr ToNative(PinCollection pinCollection) { var nativeInvokeQuorumLossDescription = new NativeTypes.FABRIC_START_PARTITION_QUORUM_LOSS_DESCRIPTION(); nativeInvokeQuorumLossDescription.OperationId = this.OperationId; if (this.PartitionSelector != null) { nativeInvokeQuorumLossDescription.PartitionSelector = this.PartitionSelector.ToNative(pinCollection); } nativeInvokeQuorumLossDescription.QuorumLossMode = (NativeTypes.FABRIC_QUORUM_LOSS_MODE) this.QuorumLossMode; nativeInvokeQuorumLossDescription.QuorumLossDurationInMilliSeconds = Utility.ToMilliseconds(this.QuorumLossDuration, "QuorumLossDuration"); return(pinCollection.AddBlittable(nativeInvokeQuorumLossDescription)); }