Move queued invocations down into lpxserver/lpxclient

This commit is contained in:
2024-09-03 22:44:22 -04:00
parent 3ed9a7ee2d
commit a6e68cbb35
4 changed files with 25 additions and 21 deletions

View File

@@ -19,6 +19,7 @@ public:
SharedChannel channel_;
LuaConsole console_;
PrintChanneler print_channeler_;
eng::vector<UniqueInvocation> delayed_invocations_;
public:
void set_initial_state_connect(const eng::string &hostspec) {
@@ -245,12 +246,16 @@ public:
return true;
}
virtual void event_call_function(InvocationKind kind, int64_t place, std::string_view datapk) {
delayed_invocations_.emplace_back(kind, place, datapk);
}
virtual void event_update() {
// Send invocations. We execute these using predictive execution.
eng::vector<UniqueInvocation> invocations = get_queued_invocations();
for (const UniqueInvocation &inv : invocations) {
for (const UniqueInvocation &inv : delayed_invocations_) {
send_invocation(*inv);
}
delayed_invocations_.clear();
// Check for keyboard input on stdin.
while (true) {