mirror of https://github.com/tidwall/tile38.git
cc3667e3ed | ||
---|---|---|
.. | ||
README.md | ||
conn.go | ||
conn_test.go | ||
helper.go | ||
pool.go | ||
pool_test.go |
README.md
Tile38 Client
Tile38 Client is a Go client for Tile38.
Examples
Connection
package main
import "github.com/tidwall/tile38/client"
func main(){
conn, err := client.Dial("localhost:9851")
if err != nil {
log.Fatal(err)
}
defer conn.Close()
resp, err := conn.Do("set fleet truck1 point 33.5123 -112.2693")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(resp))
}
Pool
package main
import "github.com/tidwall/tile38/client"
func main(){
pool, err := client.DialPool("localhost:9851")
if err != nil {
log.Fatal(err)
}
defer pool.Close()
// We'll set a point in a background routine
go func() {
conn, err := pool.Get() // get a conn from the pool
if err != nil {
log.Fatal(err)
}
defer conn.Close() // return the conn to the pool
_, err = conn.Do("set fleet truck1 point 33.5123 -112.2693")
if err != nil {
log.Fatal(err)
}
}()
time.Sleep(time.Second / 2) // wait a moment
// Retreive the point we just set.
go func() {
conn, err := pool.Get() // get a conn from the pool
if err != nil {
log.Fatal(err)
}
defer conn.Close() // return the conn to the pool
resp, err := conn.Do("get fleet truck1 point")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(resp))
}()
time.Sleep(time.Second / 2) // wait a moment
}