-
-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Windows #30
Comments
Hi @FastInvite2k2 , This is something we can investigate. I don't know much about the windows networking and async IO API but I can have a look.
If anyone has experience with windows network programming, help is welcome! |
You could add support for libuv and have async I/O for all relevant platforms! |
Does it already function via WSL2? |
I never tried but it should no? Is there any program running on linux that does not run under WSL2 ? |
I'm curious if li::sql has been tested under Windows. I like the look of the API. |
It used to be but not anymore (I guess few compilation errors has to be solved first). Several people asked for windows/macos support so I'll set this as my priority. |
I wonder if this might help speed up a windows port? "This library implements the epoll API for Windows applications. It is fast and scalable, and it closely resembles the API and behavior of Linux' epoll." |
Thanks @ckaminski this looks great. I think use wepoll to quickly get windows support. |
I started working on it but it seems like there is a bug in the MSVC compiler. The following code fails to compile and I can't find any workaround:
I sent a bug report hope they will fix it pretty soon... |
Since we'll probably have to wait for quite some time for the MSVC bug to get fixed. I'll delay windows support to an future release. |
The following workaround seems to compile, tested using Compiler Explorer: template <typename... Ms> struct metamap;
template <typename M1, typename... Ms> struct metamap<M1, Ms...> : public M1, Ms... {
template <typename M>
using TestType = typename M::test_type;
metamap(TestType<M1>&& m, TestType<Ms>&&... x);
};
int main() {} |
Thanks @chausner ! Seems like this unblock the progress on the windows support. |
Would you use boost::asio as the network backend for cross platform? |
Although would make things somewhat "easier", it also carries a lot of baggage, it has many issues on its own, and being honest, I think lithium is great exactly because of that lack of baggage, it just adds the dependencies that are absolutely needed for doing what it does, and nothing more, which in part is what contributes to its success. I support doing things adaptive instead of prescriptive, implement just what you need and nothing more, rather than including a library or framework and working around shoehorning the app into such dependencies. |
template constexpr inline metamap(typename m_traits::iod_value_type &&m1,
fix windows build template error |
Thanks @vanehu the master branch now compile on windows but there is still bugs. I'll work more on this later. |
It would lift the library to the next level.
Windows Server 2019 is perfectly capable for server programs!
The text was updated successfully, but these errors were encountered: