Record Class RateLimitExceeded

java.lang.Object
java.lang.Record
com.svenruppert.jsentinel.audit.RateLimitExceeded
Record Components:
timestamp - UTC throttle time; non-null
scope - the RateLimitKey.scope() value that was throttled; non-blank
subjectId - subject id when the scope is per-subject; may be empty for IP / endpoint scopes
limit - configured per-window event limit; positive
window - configured window duration; non-null, positive
eventsInWindow - events counted within the window at decision time; non-negative
All Implemented Interfaces:
AuditEvent

public record RateLimitExceeded(Instant timestamp, String scope, String subjectId, int limit, Duration window, int eventsInWindow) extends Record implements AuditEvent
Emitted by RateLimitPolicy.tryAcquire when an event was refused because the per-key event count within the configured window equals or exceeds the limit.
  • Constructor Details

    • RateLimitExceeded

      public RateLimitExceeded(Instant timestamp, String scope, String subjectId, int limit, Duration window, int eventsInWindow)
      Validates the record components.
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • timestamp

      public Instant timestamp()
      Returns the value of the timestamp record component.
      Specified by:
      timestamp in interface AuditEvent
      Returns:
      the value of the timestamp record component
    • scope

      public String scope()
      Returns the value of the scope record component.
      Returns:
      the value of the scope record component
    • subjectId

      public String subjectId()
      Returns the value of the subjectId record component.
      Returns:
      the value of the subjectId record component
    • limit

      public int limit()
      Returns the value of the limit record component.
      Returns:
      the value of the limit record component
    • window

      public Duration window()
      Returns the value of the window record component.
      Returns:
      the value of the window record component
    • eventsInWindow

      public int eventsInWindow()
      Returns the value of the eventsInWindow record component.
      Returns:
      the value of the eventsInWindow record component