Browse Source

Add tracingheader for support Diagnostics

master
Savorboard 6 years ago
parent
commit
5f5f0916a6
1 changed files with 49 additions and 0 deletions
  1. +49
    -0
      src/DotNetCore.CAP/Diagnostics/TracingHeaders.cs

+ 49
- 0
src/DotNetCore.CAP/Diagnostics/TracingHeaders.cs View File

@@ -0,0 +1,49 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace DotNetCore.CAP.Diagnostics
{
public class TracingHeaders : IEnumerable<KeyValuePair<string, string>>
{
private List<KeyValuePair<string, string>> _dataStore;

public IEnumerator<KeyValuePair<string, string>> GetEnumerator()
{
return _dataStore.GetEnumerator();
}

IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}

public void Add(string name, string value)
{
if (_dataStore == null)
{
_dataStore = new List<KeyValuePair<string, string>>();
}

_dataStore.Add(new KeyValuePair<string, string>(name, value));
}

public bool Contains(string name)
{
return _dataStore != null && _dataStore.Any(x => x.Key == name);
}

public void Remove(string name)
{
_dataStore?.RemoveAll(x => x.Key == name);
}

public void Cleaar()
{
_dataStore?.Clear();
}
}
}

Loading…
Cancel
Save