public static FrameSOA ConvertirFrame(Frame frameLogico) { FrameSOA frameSOA = new FrameSOA(); frameSOA.MACAddressOrigen = frameLogico.MACAddressOrigen; frameSOA.MACAddressDestino = frameLogico.MACAddressDestino; frameSOA.Info = frameLogico.Informacion.ToString(); return frameSOA; }
private void TransmitirFrameATodosLosPuertos(PuertoEthernetLogicoBase puertoQueRecibioElFrame, Frame frameATransmitir) { foreach (PuertoEthernetLogicoBase puertoEthernet in _puertosEthernet) { if (puertoEthernet == puertoQueRecibioElFrame) continue; ((IEnvioReciboDatos)puertoEthernet).TransmitirFrame(frameATransmitir); } }
public FrameRecibidoEventArgs(Frame frame,TimeSpan horaDeRecepcion) { _frameRecibido = frame; _horaDeRecepcion = horaDeRecepcion; }
public FrameTransmitidoEventArgs(Frame frame,TimeSpan horaTransmision) { _frameTransmitido = frame; _horaDeTransmision = horaTransmision; }
private void EventPaqueteDesencapsulador(Frame frame) { PaqueteDesencapsuladoEventArgs evento = new PaqueteDesencapsuladoEventArgs(frame, BusinessLogic.Threads.ThreadManager.HoraActual); if (PaqueteDesEncapsulado != null) PaqueteDesEncapsulado(this, evento); }
private void EventPaqueteEncapsulado(Frame frameATransmitir) { PaqueteEncapsuladoEventArgs evento = new PaqueteEncapsuladoEventArgs(frameATransmitir, BusinessLogic.Threads.ThreadManager.HoraActual); if (PaqueteEncapsulado != null) PaqueteEncapsulado(this, evento); }
private void EnviarFrame(IFrameMessage mensaje, string MACDestino) { Frame frameATransmitir = new Frame(mensaje, _puerto.MACAddress, MACDestino); if (mensaje is Packet) EventPaqueteEncapsulado(frameATransmitir); ((IEnvioReciboDatos)_puerto).TransmitirFrame(frameATransmitir); }
public PaqueteEncapsuladoEventArgs(Frame frame, TimeSpan horaDeRecepcion) { _frame = frame; _horaDeRecepcion = horaDeRecepcion; }
private void RegistrarFrame(PuertoEthernetLogicoBase puertoQueRecibioElFrame, Frame frameRecibido) { string direccionMacOrigen = frameRecibido.MACAddressOrigen; if (!_switchTable.YaEstaRegistradoDireccionMAC(direccionMacOrigen)) _switchTable.RegistrarDireccionMAC(direccionMacOrigen, puertoQueRecibioElFrame); }
void IEnvioReciboDatos.RecibirFrame(Frame frame) { lock (_syncObjectRecibidos) { _bufferFramesRecibidos.Enqueue(frame); } whREc.Set(); }
void IEnvioReciboDatos.TransmitirFrame(Frame frame) { lock (_syncObjectEnviados) { _bufferFramesAEnviar.Enqueue(frame); } whTrans.Set(); }
private void OnFrameRecibido(Frame frame) { if (FrameRecibido != null) FrameRecibido(this, new FrameRecibidoEventArgs(frame, BusinessLogic.Threads.ThreadManager.HoraActual)); }