本文整理汇总了Golang中github.com/skynetservices/skydns/cache.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: newTestServer
func newTestServer(t *testing.T, c bool) *server {
Port += 10
StrPort = strconv.Itoa(Port)
s := new(server)
client := etcd.NewClient([]string{"http://127.0.0.1:4001"})
client.SyncCluster()
// TODO(miek): why don't I use NewServer??
s.group = new(sync.WaitGroup)
s.client = client
s.scache = cache.New(100, 0)
s.rcache = cache.New(100, 0)
if c {
s.rcache = cache.New(100, 60) // 100 items, 60s ttl
}
s.config = new(Config)
s.config.Domain = "skydns.test."
s.config.DomainLabels = 2
s.config.DnsAddr = "127.0.0.1:" + StrPort
s.config.Nameservers = []string{"8.8.4.4:53"}
setDefaults(s.config)
s.config.Local = "104.server1.development.region1.skydns.test."
s.config.Priority = 10
s.config.RCacheTtl = RCacheTtl
s.config.Ttl = 3600
s.config.Ndots = 2
s.config.log = log.New("skydns", false, log.NullSink())
s.dnsUDPclient = &dns.Client{Net: "udp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
s.dnsTCPclient = &dns.Client{Net: "tcp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
go s.Run()
return s
}
示例2: NewServer
// NewServer returns a new SkyDNS server.
func NewServer(config *Config, client *etcd.Client) *server {
return &server{client: client, config: config, group: new(sync.WaitGroup),
scache: cache.New(config.SCache, 0),
rcache: cache.New(config.RCache, config.RCacheTtl),
dnsUDPclient: &dns.Client{Net: "udp", ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
dnsTCPclient: &dns.Client{Net: "tcp", ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
}
}
示例3: New
// New returns a new SkyDNS server.
func New(backend Backend, config *Config) *server {
tcpNetwork, udpNetwork := bindNetworks(config.BindNetwork)
return &server{
backend: backend,
config: config,
group: new(sync.WaitGroup),
scache: cache.New(config.SCache, 0),
rcache: cache.New(config.RCache, config.RCacheTtl),
dnsUDPclient: &dns.Client{Net: udpNetwork, ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
dnsTCPclient: &dns.Client{Net: tcpNetwork, ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
}
}
示例4: main
func main() {
parseFlags()
if *showVersion {
fmt.Printf("%s\n", VERSION)
os.Exit(0)
}
log.Infof("Starting rancher-dns %s", VERSION)
err := loadAnswers()
if err != nil {
log.Fatal("Cannot startup without a valid Answers file")
}
watchSignals()
watchHttp()
seed := time.Now().UTC().UnixNano()
log.Debug("Set random seed to ", seed)
rand.Seed(seed)
udpServer := &dns.Server{Addr: *listen, Net: "udp"}
tcpServer := &dns.Server{Addr: *listen, Net: "tcp"}
globalCache = cache.New(int(*cacheCapacity), int(*defaultTtl))
clientSpecificCaches = make(map[string]*cache.Cache)
dns.HandleFunc(".", route)
go func() {
log.Fatal(udpServer.ListenAndServe())
}()
log.Info("Listening on ", *listen)
log.Fatal(tcpServer.ListenAndServe())
}
示例5: New
// New returns a new SkyDNS server.
func New(backend Backend, config *Config) *server {
if config.Verbose {
log.Print("set go-etcd logger output to os.Stdout")
etcd.SetLogger(log.New(os.Stdout, "go-etcd: ", log.LstdFlags))
}
return &server{
backend: backend,
config: config,
group: new(sync.WaitGroup),
scache: cache.New(config.SCache, 0),
rcache: cache.New(config.RCache, config.RCacheTtl),
dnsUDPclient: &dns.Client{Net: "udp", ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
dnsTCPclient: &dns.Client{Net: "tcp", ReadTimeout: 2 * config.ReadTimeout, WriteTimeout: 2 * config.ReadTimeout, SingleInflight: true},
}
}
示例6: newTestServer
func newTestServer(t *testing.T, c bool) *server {
Port += 10
StrPort = strconv.Itoa(Port)
s := new(server)
client := etcd.NewClient([]string{"http://127.0.0.1:4001"})
// TODO(miek): why don't I use NewServer??
s.group = new(sync.WaitGroup)
s.scache = cache.New(100, 0)
s.rcache = cache.New(100, 0)
if c {
s.rcache = cache.New(100, 60) // 100 items, 60s ttl
}
s.config = new(Config)
s.config.Domain = "skydns.test."
s.config.DnsAddr = "127.0.0.1:" + StrPort
s.config.Nameservers = []string{"8.8.4.4:53"}
SetDefaults(s.config)
s.config.Local = "104.server1.development.region1.skydns.test."
s.config.Priority = 10
s.config.RCacheTtl = RCacheTtl
s.config.Ttl = 3600
s.config.Ndots = 2
prometheusPort = "12300"
prometheusSubsystem = "test"
prometheusNamespace = "test"
if !metricsDone {
metricsDone = true
Metrics()
}
s.dnsUDPclient = &dns.Client{Net: "udp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
s.dnsTCPclient = &dns.Client{Net: "tcp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
s.backend = backendetcd.NewBackend(client, &backendetcd.Config{
Ttl: s.config.Ttl,
Priority: s.config.Priority,
})
go s.Run()
// Yeah, yeah, should do a proper fix.
time.Sleep(500 * time.Millisecond)
return s
}
示例7: newTestServer
func newTestServer(t *testing.T, c bool) *server {
Port += 10
StrPort = strconv.Itoa(Port)
s := new(server)
client, _ := etcd.New(etcd.Config{
Endpoints: []string{"http://127.0.0.1:2379/"},
Transport: etcd.DefaultTransport,
})
kapi := etcd.NewKeysAPI(client)
// TODO(miek): why don't I use NewServer??
s.group = new(sync.WaitGroup)
s.scache = cache.New(100, 0)
s.rcache = cache.New(100, 0)
if c {
s.rcache = cache.New(100, 60) // 100 items, 60s ttl
}
s.config = new(Config)
s.config.Domain = "skydns.test."
s.config.DnsAddr = "127.0.0.1:" + StrPort
s.config.Nameservers = []string{"8.8.4.4:53"}
SetDefaults(s.config)
s.config.Local = "104.server1.development.region1.skydns.test."
s.config.Priority = 10
s.config.RCacheTtl = RCacheTtl
s.config.Ttl = 3600
s.config.Ndots = 2
s.dnsUDPclient = &dns.Client{Net: "udp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
s.dnsTCPclient = &dns.Client{Net: "tcp", ReadTimeout: 2 * s.config.ReadTimeout, WriteTimeout: 2 * s.config.ReadTimeout, SingleInflight: true}
s.backend = backendetcd.NewBackend(kapi, ctx, &backendetcd.Config{
Ttl: s.config.Ttl,
Priority: s.config.Priority,
})
go s.Run()
time.Sleep(500 * time.Millisecond) // Yeah, yeah, should do a proper fix
return s
}