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