43 {
44 m_n_u = nup;
45 m_n_d = ndown;
46
47 m_len_u = sizeof(stream_statistics) * m_n_u;
48 m_len_d = sizeof(stream_statistics) * m_n_d;
49
50 m_fd_u = open(file_up, O_RDWR | O_CREAT | O_NOATIME, 0644);
51 assert(m_fd_u >= 0);
52 m_fd_d = open(file_down, O_RDWR | O_CREAT | O_NOATIME, 0644);
53 assert(m_fd_d >= 0);
54
55 stream_statistics buf_u[m_n_u];
56 stream_statistics buf_d[m_n_d];
57
58 memset(buf_u, 0, m_len_u);
59 memset(buf_d, 0, m_len_d);
60
61 int ret;
62
63 ret = write(m_fd_u, buf_u, m_len_u);
64 assert(ret == m_len_u);
65 ret = write(m_fd_d, buf_d, m_len_d);
66 assert(ret == m_len_d);
67
68 m_stat_u = (stream_statistics*)mmap(0, m_len_u, PROT_READ | PROT_WRITE, MAP_SHARED, m_fd_u, 0);
69 assert(m_stat_u != MAP_FAILED);
70 m_stat_d = (stream_statistics*)mmap(0, m_len_d, PROT_READ | PROT_WRITE, MAP_SHARED, m_fd_d, 0);
71 assert(m_stat_d != MAP_FAILED);
72 };