summaryrefslogtreecommitdiffstats
path: root/opt.go
blob: 840a98f98b9160e1bc7cb931b4687e7f5f45277c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package exchange

import "time"

var DefaultTTL = 24 * time.Hour

type Option func(o *options)

type options struct {
	ttl time.Duration
}

func parseOpts(opts []Option) options {
	o := options{DefaultTTL}
	for i := range opts {
		opts[i](&o)
	}
	return o
}

func WithTTL(ttl time.Duration) Option {
	return func(o *options) { o.ttl = ttl }
}