Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
 public virtual TReturn Visit(LongAck msg, TData data)
 {
     return(default(TReturn));
 }