code: func NewIPTracker(window, contactWindow time.Duration, minStatements int) *IPTracker {
  	return &IPTracker{
  		window:        window,
  		contactWindow: contactWindow,
  		statements:    make(map[string]ipStatement),
  		minStatements: minStatements,
  		contact:       make(map[string]mclock.AbsTime),
  		clock:         mclock.System{},
  	}
  }
docs: // NewIPTracker creates an IP tracker.
  //
  // The window parameters configure the amount of past network events which are kept. The
  // minStatements parameter enforces a minimum number of statements which must be recorded
  // before any prediction is made. Higher values for these parameters decrease 'flapping' of
  // predictions as network conditions change. Window duration values should typically be in
  // the range of minutes.