Move log closure code into its own file.

This commit is contained in:
Dave Collins 2013-08-10 20:07:37 -05:00
parent f269ad2ff4
commit 2570ecd2ac
2 changed files with 21 additions and 16 deletions

21
logclosure.go Normal file
View file

@ -0,0 +1,21 @@
// Copyright (c) 2013 Conformal Systems LLC.
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
package main
// logClosure is used to provide a closure over expensive logging operations
// so don't have to be performed when the logging level doesn't warrant it.
type logClosure func() string
// String invokes the underlying function and returns the result.
func (c logClosure) String() string {
return c()
}
// newLogClosure returns a new closure over a function that returns a string
// which itself provides a Stringer interface so that it can be used with the
// logging system.
func newLogClosure(c func() string) logClosure {
return logClosure(c)
}

16
peer.go
View file

@ -787,19 +787,3 @@ func newPeer(s *server, conn net.Conn, inbound bool, persistent bool) *peer {
}
return &p
}
// logClosure is used to provide a closure over expensive logging operations
// so don't have to be performed when the logging level doesn't warrant it.
type logClosure func() string
// String invokes the underlying function and returns the result.
func (c logClosure) String() string {
return c()
}
// newLogClosure returns a new closure over a function that returns a string
// which itself provides a Stringer interface so that it can be used with the
// logging system.
func newLogClosure(c func() string) logClosure {
return logClosure(c)
}