1.1 --- a/dstest_server.cc Sun Jan 24 01:29:41 2021 +0100
1.2 +++ b/dstest_server.cc Sun Jan 24 19:29:07 2021 +0100
1.3 @@ -28,42 +28,29 @@
1.4
1.5 #include <ipc/server.h>
1.6
1.7 +#include "accessing.h"
1.8 #include "mapped_file_object_server.h"
1.9 -#include "page_mapper.h"
1.10 +#include "memory_utils.h"
1.11 #include "file_pager.h"
1.12 #include "pages.h"
1.13 -#include "test_file_accessor.h"
1.14 +#include "paging.h"
1.15 +#include "test_file_opener.h"
1.16
1.17
1.18
1.19 -/* A component exposing the dataspace and mapped file interfaces. */
1.20 -
1.21 -class MappedFileServer : public FilePager, public MappedFileObject
1.22 -{
1.23 -public:
1.24 - explicit MappedFileServer(fileid_t fileid, PageMapper *mapper)
1.25 - : FilePager(fileid, mapper)
1.26 - {
1.27 - }
1.28 -
1.29 - virtual long map(unsigned long offset, l4_addr_t hot_spot, unsigned long flags, l4_snd_fpage_t *region)
1.30 - { return FilePager::map(offset, hot_spot, flags, region); }
1.31 -
1.32 - virtual long mmap(size_t position, size_t length, size_t *start_pos, size_t *end_pos, size_t *data_end)
1.33 - { return FilePager::mmap(position, length, start_pos, end_pos, data_end); }
1.34 -};
1.35 -
1.36 -
1.37 +const unsigned int MEMORY_PAGES = 10;
1.38 +const unsigned int FILE_PAGES = 20;
1.39
1.40 int main(void)
1.41 {
1.42 - /* Some memory. */
1.43 + /* Some memory plus infrastructure. */
1.44
1.45 - Memory mem(10);
1.46 + Memory mem(MEMORY_PAGES);
1.47 + Accessing accessing;
1.48 + Paging paging;
1.49 Pages pages(&mem);
1.50 - TestFileAccessor a(123UL);
1.51 - PageMapper m(&a, &pages);
1.52 - MappedFileServer obj(123UL, &m);
1.53 + TestFileOpener opener(&accessing, &paging, &pages, page(FILE_PAGES));
1.54 + FilePager *obj = opener.open("123");
1.55
1.56 /* Server capability. */
1.57
1.58 @@ -71,7 +58,7 @@
1.59
1.60 /* Register a server associating it with the given object. */
1.61
1.62 - long err = ipc_server_bind("server", (l4_umword_t) &obj, &server);
1.63 + long err = ipc_server_bind("server", (l4_umword_t) obj, &server);
1.64
1.65 if (err)
1.66 {
1.67 @@ -81,7 +68,7 @@
1.68
1.69 /* Wait for messages, dispatching to the handler. */
1.70
1.71 - ipc_server_loop_for(MappedFileObject, &obj);
1.72 + ipc_server_loop_for(MappedFileObject, obj);
1.73
1.74 return 0;
1.75 }