30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to `blax-software/reactphp-kernel` are documented here. This
|
|
project adheres to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
|
|
Blax Software's backward-compatibility guarantee (every push to `master` is a
|
|
potentially-shipped, backward-compatible release).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- `Kernel` — owns the ReactPHP loop, registers `Contracts\Server`s, installs
|
|
signal handlers, `run()` and graceful `stop()`.
|
|
- `Contracts\Server` — an attachable protocol server (`boot(LoopInterface)` +
|
|
`shutdown()`).
|
|
- `Server\SocketServerFactory` — plain-TCP or TLS listening socket, no framework
|
|
coupling.
|
|
- `Ipc\SocketPairIpc` — event-driven parent/child IPC over a Unix socket pair
|
|
(lifted from `blax-software/laravel-websockets`; it was already
|
|
framework-agnostic).
|
|
- `Process\SignalHandler` — SIGINT/SIGTERM → graceful shutdown.
|
|
- `Process\ChildReaper` — reaps exited forked children (SIGCHLD + periodic
|
|
backstop); the reusable form of laravel-websockets #982.
|
|
- PSR-3 logging: `Kernel` accepts an optional `LoggerInterface` (defaults to
|
|
`NullLogger`), exposes `logger()`, and emits boot/running/shutdown lifecycle
|
|
lines.
|
|
- `Support\ConnectionRegistry` — a transport-agnostic id→connection registry
|
|
(add/remove/get/each/onAdd/onRemove/clear) for presence + broadcast, shared by
|
|
protocol servers (WS channels, WebRTC peers).
|