-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnipo.go
135 lines (120 loc) · 2.85 KB
/
nipo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package nipolib
import (
"net"
"fmt"
)
type Connection struct {
socket net.Conn
connectionString string
}
type Config struct {
token, server, port string
}
func CreateConfig(token, server, port string) *Config {
return &Config {
token : token ,
server : server ,
port : port ,
}
}
func CreateConnection() *Connection {
return &Connection {}
}
func OpenConnection(config *Config) (Connection, bool) {
connectionString := config.token + " " + config.server + " " + config.port
connection,ok := socketConnect(connectionString)
connection.connectionString = connectionString
if !ok {
fmt.Println("nipolib Error connecting to socket: " + connectionString)
}
return *connection,ok
}
func (connection *Connection) Logout() bool {
ok := connection.socketClose()
if !ok {
fmt.Println("nipolib Error logout from connection ")
return false
}
return true
}
func Ping(config *Config) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " ping ")
connection.Logout()
return result,ok
}
return result,ok
}
func Status(config *Config) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " status ")
connection.Logout()
return result,ok
}
return result,ok
}
func Set(config *Config, key string, value string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " set "+ key + " " + value)
connection.Logout()
return result,ok
}
connection.Logout()
return result,ok
}
func Get(config *Config, key string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " get "+ key)
return result,ok
}
connection.Logout()
return result,ok
}
func Select(config *Config, key string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " select "+ key)
return result,ok
}
connection.Logout()
return result,ok
}
func Avg(config *Config, key string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " avg "+ key)
return result,ok
}
connection.Logout()
return result,ok
}
func Sum(config *Config, key string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " sum "+ key)
return result,ok
}
connection.Logout()
return result,ok
}
func Count(config *Config, key string) (string, bool) {
connection,ok := OpenConnection(config)
result := ""
if ok {
result,ok := connection.socketWrite(config.token + " count "+ key)
return result,ok
}
connection.Logout()
return result,ok
}