Federation common libs - deliverAfer for delaying deliverer

This commit is contained in:
Marcin Wielgus 2016-08-08 16:29:00 +02:00
parent 1bd37f477f
commit fcbb0eef2d

View File

@ -140,6 +140,7 @@ func (d *DelayingDeliverer) Stop() {
close(d.stopChannel) close(d.stopChannel)
} }
// Delivers value at the given time.
func (d *DelayingDeliverer) DeliverAt(key string, value interface{}, deliveryTime time.Time) { func (d *DelayingDeliverer) DeliverAt(key string, value interface{}, deliveryTime time.Time) {
d.updateChannel <- &DelayingDelivererItem{ d.updateChannel <- &DelayingDelivererItem{
Key: key, Key: key,
@ -147,3 +148,8 @@ func (d *DelayingDeliverer) DeliverAt(key string, value interface{}, deliveryTim
DeliveryTime: deliveryTime, DeliveryTime: deliveryTime,
} }
} }
// Delivers value after the given delay.
func (d *DelayingDeliverer) DeliverAfter(key string, value interface{}, delay time.Duration) {
d.DeliverAt(key, value, time.Now().Add(delay))
}