Example #1
0
File: pool.go Project: varstr/gomc
func newPool(servers []string, initSize, maxSize int, encoding EncodingType) (self *memcachedPool, err error) {
	config := poolConfig(servers, initSize, maxSize)
	cs_config := C.CString(config)
	defer C.free(unsafe.Pointer(cs_config))

	self = new(memcachedPool)
	self.pool = C.memcached_pool(cs_config, C.size_t(len(config)))
	if self.pool == nil {
		err = self.checkError(
			C.libmemcached_check_configuration(
				cs_config, C.size_t(len(config)), nil, 0))
		return
	}
	self.encoding = encoding
	return
}
Example #2
0
func newMemcached(servers []string, encoding EncodingType) (self *memcached, err error) {
	config := clientConfig(servers)
	cs_config, config_len := cString(config)
	defer C.free(unsafe.Pointer(cs_config))

	self = new(memcached)
	self.mc = C.memcached(cs_config, config_len)
	if self.mc == nil {
		err = self.checkError(
			C.libmemcached_check_configuration(
				cs_config, config_len, nil, 0))
		return
	}
	self.encoding = encoding
	return
}