Memconn Save

MemConn is an in-memory network stack for Go.

Project README

MemConn GoDoc Build Status Go Report Card

MemConn provides named, in-memory network connections for Go.

Create a Server

A new net.Listener used to serve HTTP, gRPC, etc. is created with memconn.Listen:

lis, err := memconn.Listen("memu", "UniqueName")

Creating a Client (Dial)

Clients can dial any named connection:

client, err := memconn.Dial("memu", "UniqueName")

Network Types

MemCon supports the following network types:

Network Description
memb A buffered, in-memory implementation of net.Conn
memu An unbuffered, in-memory implementation of net.Conn

Performance

The benchmark results illustrate MemConn's performance versus TCP and UNIX domain sockets:

ops ns/op B/op allocs/op

MemConn is more performant than TCP and UNIX domain sockets with respect to the CPU. While MemConn does allocate more memory, this is to be expected since MemConn is an in-memory implementation of the net.Conn interface.

Open Source Agenda is not affiliated with "Memconn" Project. README Source: akutz/memconn
Stars
541
Open Issues
6
Last Commit
9 months ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating