public class SimplifiedKubeLogic // This is the simplified logic of the class Kube where I removed everything unnecessary and kept only the modification of the list from different threads.
{
private readonly List<SampleService> _services;
private volatile int _index = 0;
public SimplifiedKubeLogic()
{
_services = new List<SampleService>();
}
public virtual async Task<List<SampleService>> GetAsync()
{
await Task.Yield();
_services.Clear();
_services.AddRange(new[] { new SampleService { Host = Interlocked.Increment(ref _index) } });
return _services;
}
}
![image](https://private-user-images.githubusercontent.com/61905975/342760263-355834f2-7c30-44eb-878a-7fd6e53cf43b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI0ODYsIm5iZiI6MTczOTM3MjE4NiwicGF0aCI6Ii82MTkwNTk3NS8zNDI3NjAyNjMtMzU1ODM0ZjItN2MzMC00NGViLTg3OGEtN2ZkNmU1M2NmNDNiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE0NTYyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNjYWQxYjVmZWM3ZDM0N2YzZWM1MjNhNmM2ZDU0NGVlYWE4NTIxNGViZTJjYjBhNGRkN2FmZmM1ZjlkZWUzMTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.yICCCAJDpL5tLs9F5zzAlSVrjvojxItQdaUUbkPNdE0)