diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.Telemetry/TelemetryInMemoryQueueManager.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Telemetry/TelemetryInMemoryQueueManager.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryInMemoryQueueManager.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryInMemoryQueueManager.cs new file mode 100644 index 000000000..2197bac99 --- /dev/null +++ b/Software/Visual_Studio/Tango.Telemetry/TelemetryInMemoryQueueManager.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; + +namespace Tango.Telemetry +{ + public class TelemetryInMemoryQueueManager : ITelemetryQueueManager + { + private ProducerConsumerQueue<TelemetryPublishPackage> _queue; + + public int Count { get { return _queue.Count; } } + + public TelemetryInMemoryQueueManager() + { + _queue = new ProducerConsumerQueue<TelemetryPublishPackage>(); + } + + public TelemetryPublishPackage Dequeue() + { + return _queue.BlockDequeue(); + } + + public void Enqueue(TelemetryPublishPackage package) + { + _queue.BlockEnqueue(package); + } + + public void Clear() + { + _queue = new ProducerConsumerQueue<TelemetryPublishPackage>(); + } + } +} |
