Comments (9)
@Thomasdezeeuw I'm guessing it's more the OS than the architecture that you're interested in for the tier 2 targets?
Yes let's start with the OS. I think if we can run tests on all supported OSs, on any architecture, we can ensure the functionally works. Than cargo check
would be enough for different architectures just to make the we got the libc
definitions and functions right.
It looks like we might be able to use MacOS workers in GitHub Actions to run some of the BSDs. Alternatively, Travis CI does seem to support FreeBSD (although I can't find any docs on it), which we do still use in some repos here in
rust-lang
(specificallystdarch
andstdsimd
).
There is also https://cirrus-ci.org/ for FreeBSD, e.g. Mio uses the following file: https://github.com/tokio-rs/mio/blob/04050dbd87d7b79c33168c6a972a8bb35cf510f8/.cirrus.yml.
from socket2.
I believe WASI can be supported since their lib-c exposes sockets. I'd be interested in adding it.
from socket2.
Let's have the discussion in the other thread (#268 (comment)).
from socket2.
cc @rust-lang/infra I think we have a few repos in rust-lang
with fairly extensive CI suites. Can we think of any examples that we could use to bootstrap some broader CI here? I'm thinking particularly of iOS...
from socket2.
@KodrAus, @rust-lang/infra a little update: tier 2 targets are now all cargo check
ed, but if it's possible to actually run the tests somehow I would prefer that.
from socket2.
@Thomasdezeeuw I'm guessing it's more the OS than the architecture that you're interested in for the tier 2 targets?
It looks like we might be able to use MacOS workers in GitHub Actions to run some of the BSDs. Alternatively, Travis CI does seem to support FreeBSD (although I can't find any docs on it), which we do still use in some repos here in rust-lang
(specifically stdarch
and stdsimd
).
from socket2.
Don't think there is much left to do here, so closing.
from socket2.
Sounds good @jkelleyrtp. Although last I check (I think version 9/10) WASI didn't allow for the creation of sockets, however that could have changed. In either case the various socket options could still be useful.
from socket2.
I believe WASI can be supported since their lib-c exposes sockets. I'd be interested in adding it.
I would be interested in giving it a try. However, after looking a bit through the codebase, I feel that it might be somewhat complicated and not that easy at the moment.
Sounds good @jkelleyrtp. Although last I check (I think version 9/10) WASI didn't allow for the creation of sockets, however that could have changed. In either case the various socket options could still be useful.
I think that's still true, but there is an open and active proposal to add the functionality to create sockets (https://github.com/WebAssembly/wasi-sockets/blob/f2ffc745086ec7ab168f1244f2b3ef0342bf9ddc/wit/tcp-create-socket.wit#L26 and https://github.com/WebAssembly/wasi-sockets/blob/f2ffc745086ec7ab168f1244f2b3ef0342bf9ddc/wit/udp-create-socket.wit#L26) which is currently in 'Phase 3 - Implementation Phase (CG + WG)'. The proposal has been already introduced in WASI Preview 2
which the newly announced target wasm32-wasip2
follows. In the introduction blog post under Conclusion
it's encouraged to use cargo-component until the newly created target achieves tier-2
. In cargo-component I found a reply from @sunfishcode to an issue that 'work on supporting that (Preview 2, sockets) in libc is underway'.
At the time of writing, WASIX has support via sock_open()
to create sockets.
I'm just a random user who stumbled upon this problem: socket2
cannot be built with the target wasm32-wasi
. I'm not a wasm/wasi wizard, so please correct me if I have made an error or overlooked something.
from socket2.
Related Issues (20)
- bind_device succeeds, but subsequent sends fail with no such device or address. HOT 5
- QUESTION: How to special `laddr` when dialing connection? HOT 3
- Android support HOT 3
- don'tassign8080 port
- Currently socket2 has no way to set the DF bit on packets. The attached patch adds it. HOT 3
- Error: BoxSend(Os { code: 98, kind: AddrInUse, message: "Address already in use" }) HOT 2
- How to read EventExtra from the event? HOT 2
- socket() always fails on WSL1 due to unsupported SOCK_CLOEXEC flag HOT 5
- Support for {recv,send}mmsg HOT 2
- New release HOT 1
- socket error HOT 1
- Provide `bind_device_by_index_v{4|6}` methods for linux. HOT 7
- Shouldn't socket recv() promise in its doc allows a nicer API HOT 7
- ESP-IDF compiation error HOT 4
- Possible to publish a new patch release? HOT 4
- Hyper-util on xtensa esp32 HOT 1
- Not able to create IPv6 raw socket HOT 4
- Add suffix to protocol specific Socket methods
- Is there any way to get the IP header content on the socket created with Type::DGRAM? HOT 2
- Add Layer2 protocols HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from socket2.