|  | KENSv3
    KAIST Educational Network System | 
Client application for the transfer test. More...
 
  
| Public Member Functions | |
| TestTransfer_Connect (Host &host, const std::unordered_map< std::string, std::string > &env) | |
|  Public Member Functions inherited from E::TCPApplication | |
| TCPApplication (Host &host) | |
|  Public Member Functions inherited from E::SystemCallApplication | |
| SystemCallApplication (Host &host) | |
|  Public Member Functions inherited from E::Runnable | |
| 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) | |
| Protected Member Functions | |
| int | E_Main () | 
| This does a role of int main(int argc, char** argv, char** env). The main functions of multiple applications run in parallel. | |
|  Protected Member Functions inherited from E::TCPApplication | |
| virtual int | socket (int domain, int type__unused, int protocol) final | 
| virtual int | close (int fd) final | 
| virtual int | bind (int sockfd, const struct sockaddr *addr, socklen_t addrlen) final | 
| virtual int | getsockname (int sockfd, struct sockaddr *addr, socklen_t *addrlen) final | 
| virtual int | getpeername (int sockfd, struct sockaddr *addr, socklen_t *addrlen) final | 
| virtual int | read (int fd, void *buf, size_t count) final | 
| virtual int | write (int fd, const void *buf, size_t count) final | 
| virtual int | connect (int sockfd, const struct sockaddr *addr, socklen_t addrlen) final | 
| virtual int | listen (int sockfd, int backlog) final | 
| virtual int | accept (int sockfd, struct sockaddr *addr, socklen_t *addrlen) final | 
| virtual int | nsleep (uint64_t nanoseconds) final | 
| virtual int | usleep (uint64_t microsleep) final | 
| virtual int | msleep (uint64_t millisleep) final | 
| virtual int | sleep (uint64_t sleep) final | 
| virtual int | gettimeofday (struct timeval *tv, struct timezone *tz) final | 
|  Protected Member Functions inherited from E::SystemCallApplication | |
| 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 | 
| Time | getCurrentTime () | 
|  Protected Member Functions inherited from E::Runnable | |
| 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. | |
| Protected Attributes | |
| std::unordered_map< std::string, std::string > | env | 
| Additional Inherited Members | |
|  Public Types inherited from E::Runnable | |
| enum class | State { CREATED , STARTING , READY , RUNNING , WAITING , TERMINATED } | 
Client application for the transfer test.
This application is configured by the following environment variables.
LISTEN_ADDR, LISTEN_PORT, BACKLOG: Parameters to configure a listening socket.ACCEPT_TIME: Arbitrary sleeping time before accepting sockets. If connections arrive during the sleep, they will consume the backlog count.START_TIME: Arbitrary sleeping time before starting the data transfer.RANDOM_SEED: This random seed is used to generate a pseudo-random byte stream. If a pair of server and client shares the same seed, the seed is used to generate and verify the data integrity.SENDER: Determines who will send the data. Data transfer can be done in either client-to-server and server-to-client directions.BUFFER_SIZE: Size of the buffer to be used in every write or read system call.LOOP_COUNT: How many times the write system call will be invoked.EXPECT_SIZE: Expected length of the received data. | 
 | inlineprotectedvirtual | 
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. | 
Implements E::SystemCallApplication.