native_socket 0.4.0
native_socket: ^0.4.0 copied to clipboard
Use unix sockets via file descriptors.
0.4.0 #
- Add Android prebuilt targets.
- Update
native_prebuiltdependency to the published 0.2.0 release. - Declare macOS support via source fallback.
- Bump the native prebuilt tag to
native_socket-v0.4.0.
0.4.0-wip.5 #
- Add
android-armprebuilt target. - Update
native_prebuiltdependency to the published 0.2.0 release. - Declare macOS support via source fallback.
- Bump the native prebuilt tag to
native_socket-v0.4.0-wip.5.
0.4.0-wip.4 #
- Add Android prebuilt targets.
- Update
native_prebuiltdependency to the published 0.2.0 release. - Declare macOS support via source fallback.
- Bump the native prebuilt tag to
native_socket-v0.4.0-wip.4.
0.4.0-wip.3 #
- Update
native_prebuiltdependency to the published 0.2.0 release. - Declare macOS support via source fallback.
- Bump the native prebuilt tag to
native_socket-v0.4.0-wip.3.
0.4.0-wip #
- New high-level Dart API:
UnixSocketclass withconnect(),bind(),accept(),pair(),send(),receive(),sendTo(),receiveFrom(),split() - Address types:
Address.file()andAddress.abstract()for filesystem-path and abstract namespace addressing - SocketType enum:
SocketType.stream(connection-oriented) andSocketType.datagram(message-boundary-preserving) - NativeBuffer: heap-backed and native (off-heap) buffers with zero-copy
slicing — inspired by Java NIO
ByteBufferand NettyByteBuf - Server sockets: full bind/listen/accept workflow
- SCM_RIGHTS fd passing:
send()withfd:argument andreceiveFd() - Socket options:
setSendBufferSize,getSendBufferSize,setReceiveBufferSize,getReceiveBufferSize,setLinger - Split halves:
SocketReader/SocketWriterfor concurrent I/O - Path cleanup:
unlink()andcloseAndUnlink()for Unix socket files - Expanded C API:
create_socket,bind_socket,bind_socket_abstract,listen_socket,accept_socket,connect_unix_socket,connect_unix_socket_abstract,send_to,send_to_abstract,recv_from,set_so_sndbuf/rcvbuf/linger,get_so_sndbuf/rcvbuf,unlink_socket_path,socket_has_data - Migrate to
package:hooks2.0.0,package:code_assets1.0.0+,package:native_toolchain_c0.19.0+ - Programmatic
package:ffigenconfig (tool/generate_bindings.dart) replaces YAMLffigen:block inpubspec.yaml - 55 tests covering all new APIs
- Fix:
recv_bytesreturn type corrected tossize_t - Fix:
receive()no longer returns view into freed calloc memory (use-after-free) - Fix:
pair()uses correct pointer width (IntnotIntPtr) on 64-bit - Fix: EAGAIN retry loop in
receive()andreceiveFrom() - Remove dead
lib/src/socket.dart(old UnixSocket class)
0.3.0 #
- Initial hooks support
0.2.0 #
- Add support for checking if sockets have data available
0.1.0 #
- Initial version.