示例#1
0
        private void VerificarMensajesEnEspera()
        {
            if (MensajesEnEspera.Count > 0)
            {
                foreach (Mensaje mensajeEnEspera in MensajesEnEspera)
                {
                    if (mensajeEnEspera.Tiempo <= this.Tiempo + 1)
                    {
                        MensajesRecibidos.Add(mensajeEnEspera);
                        MensajesEnEspera.Remove(mensajeEnEspera);

                        break;
                    }
                }
            }
        }
示例#2
0
        public bool RecibirMensaje(Mensaje mensaje)
        {
            bool mensajeFueRecibido = false;

            if (mensaje.Tiempo <= this.Tiempo)
            {
                int tiempoMaximo = Math.Max(mensaje.Tiempo, Tiempo);
                Tiempo = tiempoMaximo + 1;
                MensajesRecibidos.Add(mensaje);

                mensajeFueRecibido = true;
                VerificarMensajesEnEspera();
            }
            else
            {
                MensajesEnEspera.Add(mensaje);
            }

            return(mensajeFueRecibido);
        }