You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,81 @@
|
||||
//------------------------------------------------------------
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Workflow.ComponentModel;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace System.Workflow.Runtime
|
||||
{
|
||||
[Serializable]
|
||||
internal sealed class EventQueueState
|
||||
{
|
||||
Queue deliveredMessages;
|
||||
List<ActivityExecutorDelegateInfo<QueueEventArgs>> synchronousListeners;
|
||||
List<ActivityExecutorDelegateInfo<QueueEventArgs>> asynchronousListeners;
|
||||
bool enabled = true;
|
||||
bool transactional = true;
|
||||
|
||||
[NonSerialized]
|
||||
internal IComparable queueName;
|
||||
|
||||
[NonSerialized]
|
||||
bool dirty = false; // dirty flag set to true until a transaction completes
|
||||
|
||||
internal EventQueueState()
|
||||
{
|
||||
this.deliveredMessages = new Queue();
|
||||
this.synchronousListeners = new List<ActivityExecutorDelegateInfo<QueueEventArgs>>();
|
||||
this.asynchronousListeners = new List<ActivityExecutorDelegateInfo<QueueEventArgs>>();
|
||||
}
|
||||
|
||||
internal Queue Messages
|
||||
{
|
||||
get { return this.deliveredMessages; }
|
||||
}
|
||||
internal List<ActivityExecutorDelegateInfo<QueueEventArgs>> AsynchronousListeners
|
||||
{
|
||||
get { return this.asynchronousListeners; }
|
||||
}
|
||||
internal List<ActivityExecutorDelegateInfo<QueueEventArgs>> SynchronousListeners
|
||||
{
|
||||
get { return this.synchronousListeners; }
|
||||
}
|
||||
internal bool Enabled
|
||||
{
|
||||
get { return this.enabled; }
|
||||
set { this.enabled = value; }
|
||||
}
|
||||
internal bool Transactional
|
||||
{
|
||||
get { return this.transactional; }
|
||||
set { this.transactional = value; }
|
||||
}
|
||||
|
||||
internal bool Dirty
|
||||
{
|
||||
get { return this.dirty; }
|
||||
set { this.dirty = value; }
|
||||
}
|
||||
|
||||
internal void CopyFrom(EventQueueState copyFromState)
|
||||
{
|
||||
this.deliveredMessages = new Queue(copyFromState.Messages);
|
||||
|
||||
// don't copy Subscribers since this gets fixed
|
||||
// up at access time based on these tracking context ints
|
||||
this.asynchronousListeners.AddRange(copyFromState.AsynchronousListeners.ToArray());
|
||||
this.synchronousListeners.AddRange(copyFromState.SynchronousListeners.ToArray());
|
||||
|
||||
this.enabled = copyFromState.Enabled;
|
||||
this.transactional = copyFromState.Transactional;
|
||||
this.dirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user