func (r *Registry) TrackedBefore(t time.Time) ([]net.IP, error) {
	r.lock.Lock()
	defer r.lock.Unlock()

	contents, err := r.load()
	if err != nil {
		return nil, err
	}

	returned := []net.IP{}
	for ipString, entry := range contents.IPs {
		if entry.ReleasedOn.Before(t) {
			ip := net.ParseIP(ipString)
			if ip == nil {
				continue
			}
			returned = append(returned, ip)
		}
	}
	return returned, nil
}
// TrackedBefore returns a list of all IPs last recorded time _before_
// the time passed to this function. You probably want to call this
// with time.Now().Add(-duration).
TrackedBefore returns a list of all IPs last recorded time _before_
the time passed to this function. You probably want to call this
with time.Now().Add(-duration).
// TrackedBefore returns a list of all IPs last recorded time _before_ // the time passed to this function . You probably want to call this // with time . Now () . Add ( - duration ) .
func (r *Registry) TrackedBefore(t time.Time) ([]net.IP, error) {
	r.lock.Lock()
	defer r.lock.Unlock()
	contents, err := r.load()
	if err != nil {
		return nil, err
	}
	returned := []net.IP{}
	for ipString, entry := range contents.IPs {
		if entry.ReleasedOn.Before(t) {
			ip := net.ParseIP(ipString)
			if ip == nil {
				continue
			}
			returned = append(returned, ip)
		}
	}
	return returned, nil
}
func ( r * Registry ) TrackedBefore ( t time . Time ) ( [ ] net . IP , error ) { r . lock . Lock ( ) defer r . lock . Unlock ( ) contents , err := r . load ( ) if err != nil { return nil , err } returned := [ ] net . IP { } for ipString , entry := range contents . IPs { if entry . ReleasedOn . Before ( t ) { ip := net . ParseIP ( ipString ) if ip == nil { continue } returned = append ( returned , ip ) } } return returned , nil }
TrackedBefore returns a list of all IPs last recorded time _before_
the time passed to this function.
TrackedBefore returns a list of all IPs last recorded time _before_ the time passed to this function .