diff options
author | Tamir Duberstein <tamird@google.com> | 2021-11-09 10:53:37 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-11-09 10:57:11 -0800 |
commit | 3f5cfe694a99ebebc8ad7b55090259e1e4319d02 (patch) | |
tree | 66b779216a017c34e67a303da59ba944ee68f417 | |
parent | 84b38f4c6e065d3f9314a8abbb3f5857ed4fa44e (diff) |
Remove Stack.NewJob
Use the static method instead; these methods encourage callers to retain
a pointer to the entire stack rather than only its clock which they
require.
PiperOrigin-RevId: 408651956
-rw-r--r-- | pkg/tcpip/network/ipv4/igmp.go | 2 | ||||
-rw-r--r-- | pkg/tcpip/network/ipv6/ndp.go | 14 | ||||
-rw-r--r-- | pkg/tcpip/stack/stack.go | 10 |
3 files changed, 8 insertions, 18 deletions
diff --git a/pkg/tcpip/network/ipv4/igmp.go b/pkg/tcpip/network/ipv4/igmp.go index d9cc4574e..862b893df 100644 --- a/pkg/tcpip/network/ipv4/igmp.go +++ b/pkg/tcpip/network/ipv4/igmp.go @@ -150,7 +150,7 @@ func (igmp *igmpState) init(ep *endpoint) { MaxUnsolicitedReportDelay: UnsolicitedReportIntervalMax, }) igmp.igmpV1Present = igmpV1PresentDefault - igmp.igmpV1Job = ep.protocol.stack.NewJob(&ep.mu, func() { + igmp.igmpV1Job = tcpip.NewJob(ep.protocol.stack.Clock(), &ep.mu, func() { igmp.setV1Present(false) }) } diff --git a/pkg/tcpip/network/ipv6/ndp.go b/pkg/tcpip/network/ipv6/ndp.go index bebf72421..c363da890 100644 --- a/pkg/tcpip/network/ipv6/ndp.go +++ b/pkg/tcpip/network/ipv6/ndp.go @@ -870,7 +870,7 @@ func (ndp *ndpState) handleOffLinkRouteDiscovery(route offLinkRoute, lifetime ti state := offLinkRouteState{ prf: prf, - invalidationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + invalidationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { ndp.invalidateOffLinkRoute(route) }), } @@ -917,7 +917,7 @@ func (ndp *ndpState) rememberOnLinkPrefix(prefix tcpip.Subnet, l time.Duration) ndpDisp.OnOnLinkPrefixDiscovered(ndp.ep.nic.ID(), prefix) state := onLinkPrefixState{ - invalidationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + invalidationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { ndp.invalidateOnLinkPrefix(prefix) }), } @@ -1062,7 +1062,7 @@ func (ndp *ndpState) doSLAAC(prefix tcpip.Subnet, pl, vl time.Duration) { } state := slaacPrefixState{ - deprecationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + deprecationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { state, ok := ndp.slaacPrefixes[prefix] if !ok { panic(fmt.Sprintf("ndp: must have a slaacPrefixes entry for the deprecated SLAAC prefix %s", prefix)) @@ -1070,7 +1070,7 @@ func (ndp *ndpState) doSLAAC(prefix tcpip.Subnet, pl, vl time.Duration) { ndp.deprecateSLAACAddress(state.stableAddr.addressEndpoint) }), - invalidationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + invalidationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { state, ok := ndp.slaacPrefixes[prefix] if !ok { panic(fmt.Sprintf("ndp: must have a slaacPrefixes entry for the invalidated SLAAC prefix %s", prefix)) @@ -1335,7 +1335,7 @@ func (ndp *ndpState) generateTempSLAACAddr(prefix tcpip.Subnet, prefixState *sla } state := tempSLAACAddrState{ - deprecationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + deprecationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { prefixState, ok := ndp.slaacPrefixes[prefix] if !ok { panic(fmt.Sprintf("ndp: must have a slaacPrefixes entry for %s to deprecate temporary address %s", prefix, generatedAddr)) @@ -1348,7 +1348,7 @@ func (ndp *ndpState) generateTempSLAACAddr(prefix tcpip.Subnet, prefixState *sla ndp.deprecateSLAACAddress(tempAddrState.addressEndpoint) }), - invalidationJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + invalidationJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { prefixState, ok := ndp.slaacPrefixes[prefix] if !ok { panic(fmt.Sprintf("ndp: must have a slaacPrefixes entry for %s to invalidate temporary address %s", prefix, generatedAddr)) @@ -1361,7 +1361,7 @@ func (ndp *ndpState) generateTempSLAACAddr(prefix tcpip.Subnet, prefixState *sla ndp.invalidateTempSLAACAddr(prefixState.tempAddrs, generatedAddr.Address, tempAddrState) }), - regenJob: ndp.ep.protocol.stack.NewJob(&ndp.ep.mu, func() { + regenJob: tcpip.NewJob(ndp.ep.protocol.stack.Clock(), &ndp.ep.mu, func() { prefixState, ok := ndp.slaacPrefixes[prefix] if !ok { panic(fmt.Sprintf("ndp: must have a slaacPrefixes entry for %s to regenerate temporary address after %s", prefix, generatedAddr)) diff --git a/pkg/tcpip/stack/stack.go b/pkg/tcpip/stack/stack.go index 3ddf9de6b..86fa85f2c 100644 --- a/pkg/tcpip/stack/stack.go +++ b/pkg/tcpip/stack/stack.go @@ -419,11 +419,6 @@ func New(opts Options) *Stack { return s } -// newJob returns a tcpip.Job using the Stack clock. -func (s *Stack) newJob(l sync.Locker, f func()) *tcpip.Job { - return tcpip.NewJob(s.clock, l, f) -} - // UniqueID returns a unique identifier. func (s *Stack) UniqueID() uint64 { return s.uniqueIDGenerator.UniqueID() @@ -1844,11 +1839,6 @@ func (s *Stack) FindNICNameFromID(id tcpip.NICID) string { return nic.Name() } -// NewJob returns a new tcpip.Job using the stack's clock. -func (s *Stack) NewJob(l sync.Locker, f func()) *tcpip.Job { - return tcpip.NewJob(s.clock, l, f) -} - // ParseResult indicates the result of a parsing attempt. type ParseResult int |