![]() |
KENSv3
KAIST Educational Network System
|
This provides system call interface to an application. This provides basic system call invoking mechanism to the application. More...
#include <E_Host.hpp>
Public Member Functions | |
SystemCallApplication (Host &host) | |
![]() | |
virtual void | start () final |
Start and prepare (CREATED -> READY) | |
virtual State | wake () final |
Wake and keep running (READY -> RUNNING) More... | |
virtual void | ready () final |
Mark ready (WAITING -> READY) | |
Protected Member Functions | |
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. More... | |
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. More... | |
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. | |
Friends | |
class | Host |
class | TCPApplication |
Additional Inherited Members | |
![]() | |
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.
|
protectedpure virtual |
This does a role of int main(int argc, char** argv, char** env). The main functions of multiple applications run in parallel.
param | Parameters for system call. |
Implemented in TestTransfer_Connect, TestTransfer_Accept, TestOpen, TestHandshake_SimultaneousConnect, TestHandshake_Connect, TestHandshake_Accept, TestCongestion_Connect, TestCongestion_Accept, TestClose_Connect, TestClose_Accept, TestBind_SameIP_DifferentPort, TestBind_DifferentIP_SamePort, TestBind_OverlapClosed, TestBind_OverlapPort, TestBind_GetSockName, TestBind_DoubleBind, TestBind_Simple, and EchoAssignment.
|
finalprotectedvirtual |
This is equivalent to INT 0x80 instruction of Linux. This function may be blocked if the system call is blocking call.
param | Parameters for system call. |
|
protected |