Hi. I managed to port the client part of Hypertable (the shell and python bindings), in order to entirely avoid using Thrift. The sources are here: http://github.com/conferno/hypertable/tree/windows Porting the server part and the test suite seems to be trivial, except of hyperspace's part which relies on extended file attributes. Perhaps I will do it next weekends.
Some notes: 1. Usage of errno and duality of file and socket handles are slightly different on Windows. Some solution should be developed later. May be types like OsFileHandle, OsSocketHandle and functions like last_file_error(), last_socket_error(). Or may be we should start using boost::filesystem. At the moment there are just a lot of "#ifdef _WIN32" (platform specific) and "#ifdef _MSC_VER" (compiler specific) that, I guess, is not nice. 2. Fortunately, the event model you have developed is very close to IO Completion Ports, thus HyperComm got smaller. 3. CMAKE has some problems on Windows. Porting CMAKE's scrips is a separate (and not so small) task, so I gave up and wrote a simple makefile for a while. 4. Only two of the 3rd party libraries (BerkeleyDB and Boost) can be installed similar way as '*-devel' packages in linux: headers, libraries, and predictable location. I included Bzip2, Expat, Log4cpp, Sigar and Zlib into the Hypertable source tree for simplicity and to get some benefit of link time code generation. 5. Visual C++ has very different hash_map. Should we support both hash_map or put hash_map header into Hypertable source tree ? At the moment the windows branch supports both, with "#ifdef _MSC_VER" 6. Visual C++ shows much more warnings than GCC. Mainly unsafe 64-to-32-bit casts. They have to be fixed in the main branch eventually. 7. Minimum Windows XP is required (ConnectEx is used for asynchronous connects). I do need Windows 2000 support on clients and will fix it later somehow (by making connects synchronous on that platform or by developing some workaround). -- You received this message because you are subscribed to the Google Groups "Hypertable Development" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/hypertable-dev?hl=en.
