network
network copied to clipboard
Low-level networking interface
`Socket` is defined as holding a `CInt`, but on Windows `SOCKET` is an unsigned 64 bit value, usually `UINT_PTR`. See [1] and [2] this means we may truncate a valid...
Hi all, I'd like to discuss and hopefully improve error reporting/handling in `network` library. The problem is this: Wrapper functions(`connect`, `bind`, `send` etc.) hides errors that are normally reported by...
In my opinion, network programming in Haskell should use strict evaluation except `atomicModifiyIORef'`, to avoid space leak. `Strict` and `StrictData` language extension are introduced in GHC 8.0 and it's days...
Currently, for Windows with the threaded RTS, network I/O is done with blocking FFI calls. Since FFI calls can't be interrupted, network I/O can't be interrupted. The following example illustrates...
`getNameInfo` has the ability to report a name resolution error by means of returning `Nothing`. When the `NI_NAMEREQD` flag is not set, resolution will never fail because the function simply...
- [ ] `accept()` - [ ] `getsockname()` - [ ] `getpeername()` - [ ] `connect()` - [ ] `sendto()` - [ ] `bind()` - [ ] `accept()` - [...
As network doesn't encode to punycode it fail when trying to connect to a hostname that contains unicode character. The main problem is using withCString which would truncate all unicode...
.. so as to see what caused the error.
Winio
I would like to merge your WIP branch. This PR is a rebased version. However, even with `unsafe` call, `recv` cannot be interrupted. I tested with my `http2` and `dnsext`...
v4.0
We introduce breaking changes: - [x] Specifying `Strict` and `StrictData` to avoid space leak (#412) - [ ] Integrating with the new Windows IO manager (#364) - [ ] Correcting...