1
1
mirror of https://github.com/go-gitea/gitea synced 2025-01-10 17:54:27 +00:00
Tamal Saha 171b359877 Use gitea forked macaron (#7933)
Signed-off-by: Tamal Saha <tamal@appscode.com>
2019-08-23 12:40:29 -04:00
..
2019-08-23 12:40:29 -04:00
2019-03-27 19:15:23 +08:00
2019-02-05 11:52:51 -05:00
2019-02-05 11:52:51 -05:00
2019-02-05 11:52:51 -05:00
2019-03-27 19:15:23 +08:00
2019-02-05 11:52:51 -05:00

gomemcached

This is a memcached binary protocol toolkit in go.

It provides client and server functionality as well as a little sample server showing how I might make a server if I valued purity over performance.

Server Design

overview

The basic design can be seen in gocache. A storage server is run as a goroutine that receives a MCRequest on a channel, and then issues an MCResponse to a channel contained within the request.

Each connection is a separate goroutine, of course, and is responsible for all IO for that connection until the connection drops or the dataServer decides it's stupid and sends a fatal response back over the channel.

There is currently no work at all in making the thing perform (there are specific areas I know need work). This is just my attempt to learn the language somewhat.