aboutsummaryrefslogtreecommitdiff
path: root/lib/std/event
AgeCommit message (Collapse)Author
2019-11-12use enum with atomics in std libVexu
2019-11-08fix regressed tests and update docs to use "type coercion"Andrew Kelley
2019-11-08update the codebase to use `@as`Andrew Kelley
2019-11-07allow Group to optionally manage function frames' memoryVexu
2019-11-06use global event loop in std.event typesVexu
2019-10-31DragonFlyBSD tidyupTse
2019-10-31startup code sets up event loop if I/O mode is declared eventedAndrew Kelley
2019-10-30Merge branch 'std.net'Andrew Kelley
2019-10-30add comments to disabled tests linking to the tracking issueAndrew Kelley
2019-10-30DragonFlyBSD supportTse
2019-10-29std lib networking improvements, especially non-blocking I/OAndrew Kelley
* delete the std/event/net directory * `std.event.Loop.waitUntilFdReadable` and related functions no longer have possibility of failure. On Linux, they fall back to poll() and then fall back to sleep(). * add some missing `noasync` decorations in `std.event.Loop` * redo the `std.net.Server` API. it's quite nice now, but shutdown does not work cleanly. There is a race condition with close() that I am actively working on. * move `std.io.OutStream` to its own file to match `std.io.InStream`. I started working on making `write` integrated with evented I/O, but it got tricky so I backed off and filed #3557. However I did integrate `std.os.writev` and `std.os.pwritev` with evented I/O. * add `std.Target.stack_align` * move networking tests to `lib/std/net/test.zig` * add `std.net.tcpConnectToHost` and `std.net.tcpConnectToAddress`. * rename `error.UnknownName` to `error.UnknownHostName` within the context of DNS resolution. * add `std.os.readv`, which is integrated with evented I/O. * `std.os.preadv`, is now integrated with evented I/O. * `std.os.accept4` now asserts that ENOTSOCK and EOPNOTSUPP never occur (misuse of API), instead of returning errors. * `std.os.connect` is now integrated with evented I/O. `std.os.connect_async` is gone. Just use `std.os.connect`. * fix false positive dependency loop regarding async function frames * add more compile notes to help when dependency loops occur in determining whether a function is async. * ir: change an assert to ir_assert to make it easier to find workarounds for when such an assert is triggered. In this case it was trying to parse an IPv4 address at comptime.
2019-10-29basic DNS address resolution for linux without libcAndrew Kelley
2019-10-24get rid of std.os.foo.is_the_targetAndrew Kelley
It had the downside of running all the comptime blocks and resolving all the usingnamespaces of each system, when just trying to discover if the current system is a particular one. For Darwin, where it's nice to use `std.Target.current.isDarwin()`, this demonstrates the utility that #425 would provide.
2019-10-19Use 8192 sized buffers and remove allocator parametersstratact
2019-09-25mv std/ lib/Andrew Kelley
that's all this commit does. further commits will fix cli flags and such. see #2221