1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! # The distributed actors that make up sscan.
//!
//! sscan makes use of an actor framework, [`kameo`], to allow many
//! of its components to run concurrently on their own threads, all the
//! while reducing complexity since each actor has ownership of its own
//! mutable state (no locks!)
//!
//! The most fundamental actor is [`LuaVM`], which is the bread and
//! butter of sscan. It provides a Lua 5.4 virtual machine and
//! userscript environment, complete with APIs to customize, configure,
//! and control sscan's scan engines and services. Userscripts can also
//! define their own custom scan engines, extending sscan's baked-in
//! capabilities.
//!
//! See each of the modules below to learn more about the actors that
//! power sscan.
//!
//! [`LuaVM`]: crate::actors::lua_vm::LuaVM
use crateimpl_ping;
use LuaVM;
use Queue;
use ScanMgr;
use UserEngine;
/// # Ping an actor to ensure its message loop has started.
///
/// This message checks whether an actor's message loop is running by
/// awaiting a reply from the actor. It is automatically invoked by
/// [`lua_vm::messages::WaitStartup`].
///
/// ## Reply
///
/// Expect no reply from any actor.
;
// Implement Ping on all actors
impl_ping!;