/// <summary> /// Handle the given message /// </summary> /// <returns>True if handled</returns> protected virtual bool LocoAddress(LocoAddressRequest msg) { log.Trace("Received: LocoAddress: address={0}", msg.Address); var slot = slotTable.FindByAddress(msg.Address, true); if (slot == null) { // No slots available log.Trace("Send: LongAck: no slots available", msg.Address); var result = new LongAck(LocoAddressRequest.Opcode, 0); result.Execute(lb); return(true); } // Normal response SendSlotDataResponse(slot, slot.SlotNumber); return(true); }
public virtual TReturn Visit(LongAck msg, TData data) { return(default(TReturn)); }