gomemcache icon indicating copy to clipboard operation
gomemcache copied to clipboard

feat: method close connections

Open renanbastos93 opened this issue 2 years ago • 1 comments

It was implemented a new method to close all connections.

Code to test

package main

import (
	"fmt"

	"github.com/bradfitz/gomemcache/memcache"
)

func main() {
	memcached := memcache.New("127.0.0.1:11211")
	if err := memcached.Ping(); err != nil {
		fmt.Println("ERRR TO PING", err.Error())
	}

	err := memcached.Set(&memcache.Item{Key: "renan", Value: []byte("bastos")})
	if err != nil {
		fmt.Println("ERROR TO SET DATA", err.Error())
		return
	}

	item, err := memcached.Get("renan")
	if err != nil {
		fmt.Println("ERROR TO GET DATA", err.Error())
		return
	}

	fmt.Println(item)

	err = memcached.Close()
	if err != nil {
		fmt.Println("ERROR TO CLOSE", err.Error())
		return
	}

	item, err = memcached.Get("renan")
	if err != nil {
		fmt.Println("ERROR TO GET DATA", err.Error())
	}

}

Evidence:

&{renan [98 97 115 116 111 115] 0 0 184880334}
ERROR TO GET DATA write tcp 10.8.0.41:55504->172.16.0.6:11211: use of closed network connection

renanbastos93 avatar Aug 19 '22 14:08 renanbastos93

@bradfitz Do you have any objections to the merger?

renanbastos93 avatar Aug 19 '22 15:08 renanbastos93

@bradfitz Can you review it again?

renanbastos93 avatar Jan 24 '23 16:01 renanbastos93

Merged with tweaks in 5f7a7d8

bradfitz avatar Jan 24 '23 16:01 bradfitz