A TCP Server with simple and clean API - for a sample see tests.
We just need a
struct that satisfies the
Agent interface. The interesting part is that, our
struct can be stateful, because each new connection, gets it's own instance of our
struct - the aganet.
We implement it in a synchronous way because our
struct is a closure inside the dedicated go-routine of the connection, so there is no need for extra go-routines.
Proceed panics, it will get recovered and if it returns an
error, connection will get closed and
Proceed will no longer gets called. To stop the agent, you could simply return an error such as the already provided
This package provides the underlying server logic and strategies for client timeout or noticing inactive clients can get implemented inside the agents, based on the requirements of the problem at hand. No extra housekeeping tooling is needed because our agents manage all aspects of a client/connection.
Wait4X allows you to wait for a port or a service to enter the requested state.
This application based on different software architecture and technologies like Golang, CQRS, Vertical Slice Architecture, Docker, RabbitMQ, OpenTelemetry, Postgresql, ...
Make your URLs shorter (smaller) and more memorable in Go
🧺 A practical store microservices sample, built with Golang, Domain-Driven Design, CQRS, Event Sourcing, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
A curated list of awesome articles and resources for learning and practicing Go and its related technologies.
SSE over QUIC protocol
Benchmark of Kafka libraries for Go
Low-level ClickHouse database driver for Golang