diff options
| author | Mason Reed <mason@vector35.com> | 2025-07-13 14:39:14 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-07-15 12:34:43 -0400 |
| commit | 4a49ba509bdc0b4ffa650fc8461738c2085161c7 (patch) | |
| tree | 0c55d84afde06cfe1416f8f199df985b41a0f1ff /plugins/warp/ui/matches.h | |
| parent | 9c80b724bc28eca0b1b4fad1b955d4fd2ba48ab5 (diff) | |
[WARP] Add network container
This is going to be disabled by default on this upcoming stable, however users may enable it once we deploy the public server. The data from the server is done through `Container::fetch_functions` independent of the nonblocking function lookup functions.
The sidebar has been updated to drive fetching so that when users navigate to a new function the fetcher will kick off. This fetcher operates on a separate thread, in the event of a user navigating to many functions before the current fetch has completed they all will be batched together in a single fetch.
Networked container currently is limited to just function prototypes, other type information separate from the function object will be omitted.
Diffstat (limited to 'plugins/warp/ui/matches.h')
| -rw-r--r-- | plugins/warp/ui/matches.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/plugins/warp/ui/matches.h b/plugins/warp/ui/matches.h index 4021f10c..251dcb89 100644 --- a/plugins/warp/ui/matches.h +++ b/plugins/warp/ui/matches.h @@ -16,6 +16,13 @@ class WarpCurrentFunctionWidget : public QWidget WarpFunctionTableWidget *m_tableWidget; WarpFunctionInfoWidget *m_infoWidget; + LoggerRef m_logger; + + std::mutex m_requestMutex; + std::vector<FunctionRef> m_pendingRequests; + std::atomic<bool> m_requestInProgress {false}; + std::unordered_set<uint64_t> m_processedFunctions; + public: explicit WarpCurrentFunctionWidget(FunctionRef current); @@ -26,4 +33,6 @@ public: FunctionRef GetCurrentFunction() { return m_current; }; void UpdateMatches(); + + void ProcessPendingFetchRequests(); }; |
