A little code cleanup

This commit is contained in:
2022-03-04 14:05:24 -05:00
parent cf102a6250
commit b17b34924e
3 changed files with 19 additions and 22 deletions

View File

@@ -120,7 +120,7 @@ public:
int last_write_nbytes;
};
DrivenEngine *driven_;
UniqueDrivenEngine driven_;
std::vector<ChanInfo> chans_;
std::map<int, SOCKET> listen_sockets_;
bool read_console_recently_;
@@ -478,8 +478,18 @@ public:
cleanup_channels();
}
void drive(DrivenEngine *de, int argc, char *argv[]) {
driven_ = de;
void drive(int argc, char *argv[]) {
if (argc < 2) {
DrivenEngine::print_usage(std::cerr, argv[0]);
exit(1);
}
driven_ = DrivenEngine::make(argv[1]);
if (driven_ == nullptr) {
DrivenEngine::print_usage(std::cerr, argv[0]);
exit(1);
}
DrivenEngine::set(driven_.get());
read_console_recently_ = false;
ssl_ctx_with_root_certs_ = new_ssl_context(false, true, "");
@@ -496,19 +506,18 @@ public:
exit(1);
}
DrivenEngine::set(de);
handle_lua_source();
driven_->drv_invoke_event_init(argc, argv);
handle_listen_ports();
while (!de->drv_get_stop_driver()) {
while (!driven_->drv_get_stop_driver()) {
handle_lua_source();
handle_console_output();
handle_new_outgoing_sockets();
handle_socket_input_output();
handle_console_input();
handle_console_output();
de->drv_invoke_event_update(monoclock.get());
driven_->drv_invoke_event_update(monoclock.get());
}
for (ChanInfo &chan : chans_) {
@@ -522,17 +531,3 @@ public:
};
void driver_drive(int argc, char *argv[]) {
Driver driver;
if (argc < 2) {
DrivenEngine::print_usage(std::cerr, argv[0]);
exit(1);
}
UniqueDrivenEngine engine = DrivenEngine::make(argv[1]);
if (engine == nullptr) {
DrivenEngine::print_usage(std::cerr, argv[0]);
exit(1);
}
driver.drive(engine.get(), argc, argv);
}

View File

@@ -268,6 +268,7 @@ int main(int argc, char **argv)
enable_tty_raw();
OPENSSL_init_ssl(0, NULL);
SourceDB::register_lua_builtins();
driver_drive(argc, argv);
Driver driver;
driver.drive(argc, argv);
}

View File

@@ -273,6 +273,7 @@ int main(int argc, char **argv)
init_winsock();
OPENSSL_init_ssl(0, NULL);
SourceDB::register_lua_builtins();
driver_drive(argc, argv);
Driver driver;
driver.drive(argc, argv);
}