public TrackedDistance(int capacity) { lastDist = 0; lastTime = new CarTimestamp(double.NaN); lockobj = new object(); queue = new RollingQueue <TrackedDistanceItem>(capacity); Services.Dataset.ItemAs <double>("speed").DataValueAdded += TrackedDistance_DataValueAdded; }
public TrackedDistance(int capacity) { lastDist = 0; lastTime = new CarTimestamp(double.NaN); lockobj = new object(); queue = new RollingQueue<TrackedDistanceItem>(capacity); Services.Dataset.ItemAs<double>("speed").DataValueAdded += TrackedDistance_DataValueAdded; }
/// <summary> /// Increments the rolling rate limit log for this request type /// </summary> public void BitchSlap() { lock (DynamicLock.Get(CACHE_TYPE, _key)) { object oCallQueue = Cache.Get(CACHE_TYPE, _key); RollingQueue <DateTime> log = ((RollingQueue <DateTime>)oCallQueue ?? new RollingQueue <DateTime>(_capacity)); log.Enqueue(DateTime.Now); Cache.Add(CACHE_TYPE, _key, log, _interval, new System.Web.Caching.CacheItemRemovedCallback(RemoveLock)); } }
public RelativeTransformBuilder(int capacity, bool twoD) { this.twoD = twoD; recentTimestamp = new CarTimestamp(double.NaN); rollingQueue = new RollingQueue <TransformEntry>(capacity); }
static void Main(string[] args) { var options = new KafkaOptions(new Uri("http://kafka1:9092"), new Uri("http://kafka2:9092")) { Log = new ConsoleLog() }; var router = new BrokerRouter(options); var client = new Producer(router); var timing = new RollingQueue<double>(50); var rate = new RollingQueue<double>(50); var second = DateTime.Now.Second; var count = 0; Task.Run(() => { var consumer = new Consumer(new ConsumerOptions("latencies", router)); var position = consumer.GetTopicOffsetAsync("latencies"); position.Wait(); consumer.SetOffsetPosition( position.Result .Select(p => new OffsetPosition(p.PartitionId, p.Offsets.First())) .ToArray() ); foreach (var data in consumer.Consume()) { count++; var rtt = (DateTime.Now - new DateTime( long.Parse(Encoding.UTF8.GetString(data.Value)) )).TotalMilliseconds; if (rtt < 1000) timing.Enqueue(rtt); if (second != DateTime.Now.Second) { second = DateTime.Now.Second; rate.Enqueue(count); count = 0; Console.WriteLine("Rate: {0} pps.\t{1} ", rate.Average().ToString("N2") , (rtt < 1000) ? "RTT: " + timing.Average().ToString("N2") + " ms." : string.Empty ); } } }); while (true) { client.SendMessageAsync("latencies", new[] { new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()), new Message(DateTime.Now.Ticks.ToString()) }, 1); Thread.Sleep(1); } client.Dispose(); router.Dispose(); }
public AbsolutePoseQueue(int capacity) { this.queue = new RollingQueue<AbsolutePose>(capacity); }
public AbsolutePoseQueue(int capacity) { this.queue = new RollingQueue <AbsolutePose>(capacity); }
public RelativeTransformBuilder(int capacity, bool twoD) { this.twoD = twoD; recentTimestamp = new CarTimestamp(double.NaN); rollingQueue = new RollingQueue<TransformEntry>(capacity); }