Tagged articles
3 articles
Page 1 of 1
Tech Musings
Tech Musings
Nov 4, 2025 · Backend Development

Simplifying a Four‑Layer TCP Proxy in Go: From Custom Goroutine Loops to io.Copy

The article recounts the original complex implementation of a four‑layer TCP proxy in Easegress, explains why using separate read/write goroutines and custom buffers caused error‑handling and flow‑control difficulties, and then shows how switching to Go's io.Copy (and its variants) dramatically simplifies the code while preserving performance through zero‑copy techniques.

GoProxyTCP
0 likes · 17 min read
Simplifying a Four‑Layer TCP Proxy in Go: From Custom Goroutine Loops to io.Copy
Ops Development & AI Practice
Ops Development & AI Practice
Mar 4, 2024 · Backend Development

Why os.Rename Fails Across Devices in Go and How to Fix It

This article explains why Go's os.Rename throws an "invalid cross-device link" error when moving files between different file systems and shows how to replace it with io.Copy for reliable cross‑device file transfers, including code examples and related filesystem concepts.

Gocross-devicefile-handling
0 likes · 5 min read
Why os.Rename Fails Across Devices in Go and How to Fix It