/// <summary> /// Adds block to the queue. /// </summary> public void Enqueue(T block) { if (block != null) { _dirtyCallBlocks.TryRemove(block, out _); _queue.Enqueue(block); } }
/// <summary> /// Adds block to the queue. /// </summary> public void Enqueue(T block) { if (block != null) { _queue.Enqueue(block); } }
static void Main(string[] args) { var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>(); optionsBuilder.UseSqlServer("Data Source=DECAIREPC;Initial Catalog=DemoData;Integrated Security=True"); _databaseContext = new DatabaseContext(optionsBuilder.Options); _soldierDatabaseManager = new SoldierDatabaseManager(_databaseContext, _distinctQueue); var thread = new Thread(() => { _soldierDatabaseManager.QueueMonitor(); /* * var data = FindOneSoldier(soldier.Id); * * if (data != null) * { * data.X = soldier.X; * data.Y = soldier.Y; * _databaseContext.SaveChanges(); * } */ }); thread.Start(); var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "SoldierQueue", durable: true, exclusive: false, autoDelete: false, arguments: null); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var soldier = JsonConvert.DeserializeObject <Soldier>(Encoding.UTF8.GetString(body)); _distinctQueue.Enqueue(soldier); //Console.WriteLine(" [x] Received {0}", soldier.X + "," + soldier.Y); //_logger.Debug($"{soldier.Id}"); }; channel.BasicConsume(queue: "SoldierQueue", autoAck: true, consumer: consumer); Console.WriteLine(" Press [enter] to exit."); Console.ReadLine(); } }
public void AddDuplicateSoldier() { var queue = new DistinctQueue(); var tempSoldier = new Soldier(true) { X = 45, Y = 30 }; queue.Enqueue(tempSoldier); queue.Enqueue(new Soldier(true) { X = 20, Y = 98 }); queue.Enqueue(tempSoldier); Assert.Equal(2, queue.Count); }
public void AddThreeItems() { var queue = new DistinctQueue(); queue.Enqueue(new Soldier(true) { X = 45, Y = 30 }); queue.Enqueue(new Soldier(true) { X = 20, Y = 98 }); queue.Enqueue(new Soldier(true) { X = 28, Y = 75 }); Assert.Equal(3, queue.Count); }
protected override void EnqueueBlock(BoundBlock block) => _worklist.Enqueue(block);
/// <summary> /// Adds block to the queue. /// </summary> public void Enqueue(T block) { _queue.Enqueue(block); }