From 2789798390ae2bea27f6c3b8e589d7a87d8acd71 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Fri, 16 Feb 2018 15:54:53 +0100 Subject: [PATCH] remove clock feature --- clock.go | 59 -------------------------------------------------------- v2ray.go | 8 -------- 2 files changed, 67 deletions(-) delete mode 100644 clock.go diff --git a/clock.go b/clock.go deleted file mode 100644 index 54bcb905..00000000 --- a/clock.go +++ /dev/null @@ -1,59 +0,0 @@ -package core - -import ( - "sync" - "time" -) - -// Clock is a V2Ray feature that returns current time. -type Clock interface { - Feature - - // Now returns current time. - Now() time.Time -} - -type syncClock struct { - sync.RWMutex - Clock -} - -func (c *syncClock) Now() time.Time { - c.RLock() - defer c.RUnlock() - - if c.Clock == nil { - return time.Now() - } - - return c.Clock.Now() -} - -func (c *syncClock) Start() error { - c.RLock() - defer c.RUnlock() - - if c.Clock == nil { - return nil - } - - return c.Clock.Start() -} - -func (c *syncClock) Close() error { - c.RLock() - defer c.RUnlock() - - if c.Clock == nil { - return nil - } - - return c.Clock.Close() -} - -func (c *syncClock) Set(clock Clock) { - c.Lock() - defer c.Unlock() - - c.Clock = clock -} diff --git a/v2ray.go b/v2ray.go index df4b0420..5538da7e 100644 --- a/v2ray.go +++ b/v2ray.go @@ -28,7 +28,6 @@ type Instance struct { router syncRouter ihm syncInboundHandlerManager ohm syncOutboundHandlerManager - clock syncClock cmd syncCommander access sync.Mutex @@ -148,8 +147,6 @@ func (s *Instance) RegisterFeature(feature interface{}, instance Feature) error s.ihm.Set(instance.(InboundHandlerManager)) case OutboundHandlerManager, *OutboundHandlerManager: s.ohm.Set(instance.(OutboundHandlerManager)) - case Clock, *Clock: - s.clock.Set(instance.(Clock)) case Commander, *Commander: s.cmd.Set(instance.(Commander)) } @@ -206,11 +203,6 @@ func (s *Instance) OutboundHandlerManager() OutboundHandlerManager { return &(s.ohm) } -// Clock returns the Clock used by this Instance. The returned Clock is always functional. -func (s *Instance) Clock() Clock { - return &(s.clock) -} - // Commander returns the Commander used by this Instance. The returned Commander is always functional. func (s *Instance) Commander() Commander { return &(s.cmd)