private void HandleCarMessage(CarMessage message) { Console.WriteLine("CLIENT: received car Message"); CurrentCar = message.Car; Console.WriteLine("Currentcar: " + CurrentCar); Form1.GetInstance().UpdateTextBox(CurrentCar.ToString()); }
private void ProcessCarMessage(string str) { CarMessage msg = CarMessage.Create(str); if (msg.Type == MessageType.Request) { requestQueue.Add(msg); CarMessage reply = GenerateMessage(MessageType.Reply); if (!onTheBridge) // check not in CS { SendMessage(reply, msg.Id); } else { deferedRequests.Add(new DifferedMessage(reply, msg.Id)); } } else if (msg.Type == MessageType.Reply) { repliesNo++; } else if (msg.Type == MessageType.Release) { CarMessage m = requestQueue.Find(t => t.Id == msg.Id); if(m!= null) requestQueue.Remove(m); } }
public void SendMessage(CarMessage message, int serverPort) { try { Client client = GetClientOf(serverPort); if (client != null) client.SendData(message.ToString()); } catch { //WriteMessage(String.Format("Exception sending {0} msg from {1} to {2}", type, id, serverPort)); } }
public void Move() { if (InRoad != null) { if (InRoad.IsBridge) { WantPermissionToCS(); while (true) { if (repliesNo == RequestSet.Count && requestQueue.Count > 0 && requestQueue[0].Id == this.Id) { repliesNo = 0; onTheBridge = true; break; } } } while (moving) { AdjustSpeed(); Move1(); } if (InRoad.IsBridge) { if (InRoad.ChangedDirection) { InRoad.ChangeDirection(); InRoad.ChangedDirection = false; } onTheBridge = false; foreach (DifferedMessage msg in deferedRequests) { SendMessage(msg.Message, msg.Receiver); } deferedRequests.Clear(); AnnounceRelease(); CarMessage ownRequest = requestQueue.Find(m => m.Id == this.Id); if (ownRequest != null) requestQueue.Remove(ownRequest); } } }
public async Task <IActionResult> Post([FromBody] CarMessage value) { using (_db) { _logger.LogDebug("Inserting car:{1} for user:{0}", User, value.LicencePlate); var car = new Car { LicencePlate = value.LicencePlate, OwnerId = value.OwnerId, Type = value.Type }; await _db.Cars.AddAsync(car); await _db.SaveChangesAsync(); await _db.Entry(car).Reference(c => c.Owner).LoadAsync(); return(Ok(car)); } }
private void HandleCarMessage(CarMessage message) { Console.WriteLine("USER: Received CarMessage"); Car CurrentCar = message.Car; }
private static CarMessage DecodeCarMessage(dynamic json) { return(CarMessage.ToClass(json)); }
public DifferedMessage(CarMessage m, int s) { this.Message = m; this.Receiver = s; }
private void AnnounceRelease() { CarMessage releaseMsg = GenerateMessage(MessageType.Release); foreach (int carId in RequestSet) SendMessage(releaseMsg, carId); }