27 static uint8_t write_buff[1024];
31 if (port.queue_info_->Pop(info) != ErrorCode::OK)
36 port.queue_data_->PopBatch(write_buff, info.size);
37 auto ans = fwrite(write_buff, 1, info.size, stdout);
39 port.queue_info_->Pop(info);
41 port.UpdateStatus(
false, ErrorCode::OK, info.op, info.size);
55 port.queue_block_->Pop(info);
59 port.read_size_ = fread(info.
data_.
addr_,
sizeof(
char), need_read, stdin);
60 port.UpdateStatus(
false, ErrorCode::OK, info, need_read);
65 new LibXR::ReadPort(32,
static_cast<size_t>(4 * LIBXR_PRINTF_BUFFER_SIZE));
69 gettimeofday(&libxr_linux_start_time,
nullptr);
70 UNUSED(clock_gettime(CLOCK_REALTIME, &libxr_linux_start_time_spec));
73 tcgetattr(STDIN_FILENO, &tty);
74 tty.c_lflag &= ~(ICANON | ECHO);
75 tcsetattr(STDIN_FILENO, TCSANOW, &tty);