All Classes and Interfaces

Class
Description
 
Base of every management-API response.
The Apache-backed FcHttpClient.
The front-cache.api-key check, in one place.
 
Decides a request's client type - bot or guest - from conf/bots.conf.
One classification rule from conf/bots.conf: name | condition | verdict [| dry-run].
Wire/DTO view of a BotRule - what the management API (get-bots) returns and the console renders, alongside the flat botKeywords an older console knows how to read.
Parses one line of conf/bots.conf.
 
 
 
Replicates cache entries from a source edge to a target edge.
A cheap size-and-churn snapshot of a cache processor, for the metrics exporter.
 
Runs one URI list through this node's own front door, paced, and reports what happened.
A start, update or control call that was refused, with a reason fit for an operator.
 
An address block, compared on raw address bytes so v4 and v6 never match each other.
Resolves the client IP address that rate limiting counts against.
The combined response: one part per requested member, in the order the members were sent.
One member's answer inside a CombineEnvelope.
The combine-and-reduce wire contract, in one place: parameter names, the encoding of a member's query string, and the small URL arithmetic both ends need.
The origin's half of the combine contract: read a combined request.
The origin's half of the combine contract: build and write the response envelope.
Remembers, per batch group, that the origin does not implement combining.
Processing URL example invalid input: '<'fc:include url="/some/url/here" />
The config files the management API will write, and the only names set-config accepts.
Reads, hashes, backs up and atomically replaces a config file under FRONTCACHE_HOME/conf.
Dry-parses a candidate config file before set-config writes it.
What set-config actually does, with no HttpServletRequest in sight.
 
 
 
 
Marker for Logger
Resolves the canned response served when an origin call fails or its circuit is open.
 
 
All GET requests which flows through cache (cached invalid input: '&' not)
 
 
All requests through Frontcache engine Must use SEMAPHORE to access the same thread
Replaces com.netflix.hystrix.exception.HystrixBadRequestException: the caller asked for something invalid, so the failure says nothing about the health of the dependency.
Cache read outcomes, counted per tier.
Where a cache read was answered from, or that it was not.
Combine-and-reduce outcomes, counted per batch and per member.
How a combined origin call ended.
Why an envelope was rejected.
How one combine candidate was ultimately resolved.
The seam.
Mirrors HystrixCommand.Setter so the constructor bodies of the five commands change by one type name and nothing else.
The resolved settings for one command key, read from conf/resilience.properties by FcResilienceConfig and translated to Resilience4j configs here.
 
Replaces com.netflix.hystrix.exception.HystrixRuntimeException: thrown out of FcCommand.execute() when the command failed AND the fallback could not supply a value.
The command keys, in one place.
Rolling metrics for one command, shaped to the Hystrix dashboard JSON rather than to Resilience4j's data model.
The mean and the nine percentiles, read from ONE merge of the bucket ring.
 
Serializes FcCommandMetrics and FcThreadPools into the Hystrix dashboard's JSON, replacing SerialHystrixDashboardData.
 
Execution outcomes of an FcCommand, replacing com.netflix.hystrix.HystrixEventType.
 
Frontcache's own origin-fetch abstraction - the extension points' view of "go get this URL".
Prometheus / OTLP export, additive alongside the SSE stream.
The Prometheus scrape endpoint, /fc-metrics.
A cheap snapshot of the JVM this node runs in: heap, process CPU, uptime.
Reads conf/resilience.properties into plain Properties and resolves per-command settings from it, replacing the Archaius ConfigurationManager.install() path.
Holds the Resilience4j registries, keyed by command key.
Applies an edited conf/resilience.properties to a running node, for the reload-resilience management action.
 
Serves the SSE dashboard stream at /fc-dashboard.stream and at the pre-2.7 /hystrix.stream, from Frontcache's own metrics instead of Hystrix's.
The named thread pools Frontcache owns, replacing HystrixThreadPool.
 
 
 
 
 
 
 
 
 
 
 
Bot classification config from ./conf/bots.conf: the ordered rules, and the bare User-Agent keywords.
The raw ./conf/bots.conf of one node, for the console's Bot Configs screen.
URL patterns that are never cached, from ./conf/dynamic-urls.conf.
The raw ./conf/dynamic-urls.conf of one node, for the console's Dynamic URLs screen.
URL-pattern to fallback-file mappings from ./conf/fallbacks.conf.
The raw ./conf/fallbacks.conf of one node, for the console's Fallback Config screen.
 
 
Response for the get-guard-rules action: the guard rules this node is running, in evaluation order (built-ins first, then conf/guard-rules.conf), each with its hit count since start.
Raw content of ./conf/resilience.properties (comments and empty lines preserved), for display in the console.
What a matching guard rule does with the request: reject it, redirect it, or explicitly let it through (an exemption placed above a broader rule).
 
A guard rule could not be parsed or violates a safety rail (bad regex, unknown predicate, redirect target outside the allowed hosts, self-redirect loop).
Result of running the guard pipeline for one request: either "carry on to FC_Total" or a terminal action (reject / redirect) together with the rule that produced it.
One condition of a guard rule (e.g.
Parses a single predicate expression from guard-rules.conf into a GuardPredicate.
Which config file a predicate is being parsed for.
Holds the WindowLimiter of every rate-limit bucket, keyed by bucket name.
A guard rule: name | condition | action.
Runs the guard rules for every request, before cache and origin.
Wire/DTO view of a GuardRule - what the management API (get-guard-rules) returns and the console renders.
Parses one line of guard-rules.conf into a GuardRule.
 
Wrapper for response
Processing URL example invalid input: '<'fc:include url="/some/url/here" />
Processing URL example invalid input: '<'fc:include url="/some/url/here" />
 
 
 
 
 
The scheme://host[:port] a warm run's cache keys are built on.
Cache processor based on L1 - ehCache.
Sends a warm request to this node's own front door.
Provides access to lucene index.
Everything about this index that an operator can tune, in one object so adding a knob does not add a positional constructor argument.
The cheap, pollable view of a node: cache sizes and the JVM they live in.
 
 
 
 
Response for the put-to-cache IO action.
The rate: predicate - true when this request's client IP has already used up its budget for the current window.
The parsed form of a rate: predicate, computed once at load time.
 
 
The outcome of reload-dynamic-urls: how many patterns are now active.
 
 
The outcome of reload-resilience.
Callback interface for receiving progress updates during cache replication.
Immutable snapshot of a replication run.
The Request Context holds request, response, state information and data to access and share.
Log requests to file (slf4j) for statistics and further analysis REQUEST LOGGING FORMAT 1 - true 0 - false cacheable_flag - true/1 if request is run through FrontCache engine (e.g.
What set-config did, or refused to do.
 
The cache warmer's management actions, with no HttpServletRequest in sight - the ConfigWriteAction arrangement, for the same reason: the gates are what matter here, and they are testable without a servlet container.
warmer/.state/run.json: where a run was, so it can be resumed after a restart.
The front-cache.warmer.* keys of frontcache.properties, read once per call site.
What a run did with its entries.
One line of a URI list, parsed.
 
One failed entry in the status's recent-failures ring.
One numbered line of a list - a preview row, a search hit, or an invalid line in a preflight.
get-warmer-list, put-warmer-list and delete-warmer-list: one list.
One row of warmer-lists.
warmer-lists: the URI lists under FRONTCACHE_HOME/warmer/, newest first.
The URI lists under FRONTCACHE_HOME/warmer/, and the only place a list name becomes a File.
Thrown when a write is refused - too large, or the list changed since it was read.
What get-warmer-list returns for one list: the whole content when it is small enough to edit, otherwise the first and last lines.
What warmer-preflight reports: one read of the list, without calling the origin.
warmer-preflight: what a run with these parameters would do, without calling the origin.
The parameters of one warm run, as the Run form (or a warmer-start call) gives them.
A finished run - kept as the screen's Last run panel until the next run starts, and logged at INFO.
Everything warmer-status reports: the node's warmer state, the current run if there is one, the last finished run, a resumable checkpoint, and the defaults the Run form starts from.
What warmer-status returns, and what every run-control action (warmer-start, warmer-update, -pause, -resume, -stop) answers with - the state after the call.
What makes a request a warm request, and the vocabulary a warm request is answered in.
Sends one warm request and says what came back.
What the front door answered.
 
 
Container for web response.
Fixed-window request counter: how many requests one key sent inside the current measurement slot.