This provides system call interface to an application. This provides basic system call invoking mechanism to the application.
More...
#include <E_Host.hpp>
|
|
| SystemCallApplication (Host &host) |
| |
|
virtual void | start () final |
| | Start and prepare (CREATED -> READY)
|
| |
| virtual State | wake () final |
| | Wake and keep running (READY -> RUNNING)
|
| |
|
virtual void | ready () final |
| | Mark ready (WAITING -> READY)
|
| |
|
|
virtual void | initialize () final |
| | Standard C++11 thread is automatically launched, so we cannot control the starting time. Calling this function guarantees that E_Main thread is successfully launched.
|
| |
| virtual int | E_Syscall (const SystemCallInterface::SystemCallParameter ¶m) final |
| | This is equivalent to INT 0x80 instruction of Linux. This function may be blocked if the system call is blocking call.
|
| |
|
virtual void | returnSyscall (int retVal) final |
| |
| virtual int | E_Main ()=0 |
| | This does a role of int main(int argc, char** argv, char** env). The main functions of multiple applications run in parallel.
|
| |
| Time | getCurrentTime () |
| |
|
| Runnable () |
| | Constructs a Runnable interface.
|
| |
|
virtual void | wait () final |
| | Enter wait state (RUNNING -> WAITING)
|
| |
|
virtual void | pre_main () |
| | Prepare logic.
|
| |
|
virtual void | run () final |
| | Thread code.
|
| |
|
|
class | Host |
| |
|
class | TCPApplication |
| |
|
| enum class | State {
CREATED
, STARTING
, READY
, RUNNING
,
WAITING
, TERMINATED
} |
| |
This provides system call interface to an application. This provides basic system call invoking mechanism to the application.
- See also
- TCPApplication
◆ E_Main()
| virtual int E::SystemCallApplication::E_Main |
( |
| ) |
|
|
protectedpure virtual |
This does a role of int main(int argc, char** argv, char** env). The main functions of multiple applications run in parallel.
- Parameters
-
| param | Parameters for system call. |
- Note
- You cannot override this function.
Implemented in EchoAssignment, TestBind_Simple, TestBind_DoubleBind, TestBind_GetSockName, TestBind_OverlapPort, TestBind_OverlapClosed, TestBind_DifferentIP_SamePort, TestBind_SameIP_DifferentPort, TestClose_Accept, TestClose_Connect, TestCongestion_Accept, TestCongestion_Connect, TestHandshake_Accept, TestHandshake_Connect, TestHandshake_SimultaneousConnect, TestOpen, TestTransfer_Accept, and TestTransfer_Connect.
◆ E_Syscall()
This is equivalent to INT 0x80 instruction of Linux. This function may be blocked if the system call is blocking call.
- Parameters
-
| param | Parameters for system call. |
- Note
- You cannot override this function.
◆ getCurrentTime()
| Time E::SystemCallApplication::getCurrentTime |
( |
| ) |
|
|
protected |
- Returns
- Returns current virtual clock of the System.
The documentation for this class was generated from the following files:
- include/E/Networking/E_Host.hpp
- src/Networking/E_Host.cpp