Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
|
|
6 years ago | |
|---|---|---|
| .. | ||
| client | 6 years ago | |
| .gitignore | 6 years ago | |
| LICENSE | 6 years ago | |
| README.markdown | 6 years ago | |
| flexibleFraming.go | 6 years ago | |
| mc_constants.go | 6 years ago | |
| mc_req.go | 6 years ago | |
| mc_res.go | 6 years ago | |
| tap.go | 6 years ago | |
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.
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.
No Description
Go SVG JavaScript Vue Roff other