/// <summary>
        /// Initializes a new instance of the type
        /// </summary>
        /// <param name="loggerFactory">Factory to create loggers</param>
        /// <param name="availabilityCheck">Logic to perform availability checks</param>
        public AvailabilityProbeLogic(ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck)
        {
            Guard.NotNull(nameof(loggerFactory), loggerFactory);
            Guard.NotNull(nameof(availabilityCheck), availabilityCheck);

            _availabilityLogic = availabilityCheck;
            _logger            = loggerFactory.CreateLogger(Name);
        }
        /// <summary>
        /// Initializes a new instance of the type
        /// </summary>
        /// <param name="loggerFactory">Factory to create loggers</param>
        /// <param name="availabilityCheck">Logic to perform availability checks</param>
        /// <param name="healthCheck">Logic to perform health checks</param>
        public DualProbeLogic(ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck, IHealthCheck healthCheck)
        {
            Guard.NotNull(nameof(loggerFactory), loggerFactory);
            Guard.NotNull(nameof(availabilityCheck), availabilityCheck);
            Guard.NotNull(nameof(healthCheck), healthCheck);

            _availabilityLogic = availabilityCheck;
            _healthLogic       = healthCheck;
            _logger            = loggerFactory.CreateLogger(Name);
        }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="port">The port number to listen on all IPv4 endpoints</param>
 /// <param name="handler">The validation method</param>
 /// <param name="pollingInterval">The interval between polling checks</param>
 public AvailabilityContainerProbe(ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : this(IPAddress.Any, port, pollingInterval, handler)
 {
 }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the type
        /// </summary>
        /// <param name="address">The IP Address to listen on</param>
        /// <param name="port">The port number to listen on all IPv4 endpoints</param>
        /// <param name="handler">The validation method</param>
        /// <param name="pollingInterval">The interval between polling checks</param>
        public AvailabilityContainerProbe(IPAddress address, ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(address, port, pollingInterval)
        {
            Guard.NotNull(nameof(handler), handler);

            _handler = handler;
        }
 public BookingCommandService(IAggregateStore store, IAvailabilityCheck availabilityCheck)
 {
     _store             = store;
     _availabilityCheck = availabilityCheck;
 }
Esempio n. 6
0
        public async Task BookRoom(string bookingId, string guestId, RoomId roomId, StayPeriod period, IAvailabilityCheck availabilityCheck)
        {
            EnsureDoesntExist();
            await EnsureRoomAvailable(roomId, period, availabilityCheck);

            Apply(
                new V1.RoomBooked {
                BookingId = bookingId,
                GuestId   = guestId,
                RoomId    = roomId.Value,
                CheckIn   = period.CheckIn,
                CheckOut  = period.CheckOut
            }
                );
        }
 /// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="port">The port to listen on</param>
 /// <param name="pollingInterval">The interval between checking for new connection requests</param>
 /// <param name="handler">A handler used to determine if the service is available</param>
 public TestAvailabilityProbe(IPAddress address, ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(address, port, pollingInterval, handler)
 {
 }
 /// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="port">The port to listen on</param>
 /// <param name="pollingInterval">The interval between checking for new connection requests</param>
 /// <param name="handler">A handler used to determine if the service is available</param>
 public TestAvailabilityProbe(ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(port, pollingInterval, handler)
 {
 }
Esempio n. 9
0
 /// <summary>
 /// Initializes a new instance of the type
 /// </summary>
 /// <param name="configuration">The kestrel host configuration</param>
 /// <param name="loggerFactory">A factory that can be used to create loggers</param>
 /// <param name="availabilityCheck">The logic to validate success results</param>
 public KestrelAvailabilityProbe(IKestrelHostConfiguration configuration, ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck)
     : base(configuration, loggerFactory, () => new MultiProbeStartup(new MultiProbeConfiguration { EndpointList = AvailabilityProbeLogic.EndpointList }, loggerFactory, new AvailabilityProbeLogic(loggerFactory, availabilityCheck)))
 {
 }