public void AddressOffer(IDhcpServerPacket Packet, OfferAddressControlCodes ControlCode, DhcpServerIpAddress ServerAddress, DhcpServerIpAddress LeaseAddress, OfferAddressTypes AddressType, TimeSpan LeaseTime, ref bool StopPropagation)
 {
     addressOfferHandler.AddressOffer(Packet, ControlCode, ServerAddress, LeaseAddress, AddressType, LeaseTime, ref StopPropagation);
 }
        public void AddressOffer(IDhcpServerPacket Packet, OfferAddressControlCodes ControlCode, DhcpServerIpAddress ServerAddress, DhcpServerIpAddress LeaseAddress, OfferAddressTypes AddressType, TimeSpan LeaseTime, ref bool StopPropagation)
        {
            try
            {
                var sb = new StringBuilder();
                sb.AppendLine("ADDRESS OFFER:");
                sb.AppendLine($" Transaction Id: {Packet.TransactionId}");
                sb.AppendLine($" Parameters:");
                sb.AppendLine($"  Dhcp Message Type: {Packet.DhcpMessageType}");
                sb.AppendLine($"  Control Code: {ControlCode}");
                sb.AppendLine($"  Offering: {LeaseAddress}");
                sb.AppendLine($"  Type: {AddressType}");
                sb.AppendLine($"  Time: {LeaseTime}");
                sb.AppendLine("---------------------");

                WriteLog(sb.ToString());
            }
            catch (Exception ex)
            {
                WriteLog($"ADDRESS OFFER ERROR: {ex.Message} [{ex.GetType().Name}]");
                WriteLog(ex.StackTrace);

                throw;
            }
        }