refactor(web): move all server files into server directory
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"net"
|
||||
)
|
||||
|
||||
// TDBMS connection struct
|
||||
type TDBMSConnection struct {
|
||||
conn net.Conn
|
||||
}
|
||||
|
||||
// Connect to TDBMS server
|
||||
func (tdbms *TDBMSConnection) Connect(domain, addr string) error {
|
||||
c, err := net.Dial(domain, addr)
|
||||
tdbms.conn = c
|
||||
return err
|
||||
}
|
||||
|
||||
// Close connection to TDBMS server
|
||||
func (tdbms *TDBMSConnection) Close() error {
|
||||
return tdbms.conn.Close()
|
||||
}
|
||||
|
||||
// Execute a TDB request
|
||||
func (tdbms *TDBMSConnection) Query(db_name string, trc uint8, request_body string) []byte {
|
||||
var err error
|
||||
buffer := []byte{trc}
|
||||
buffer = append(buffer, db_name...)
|
||||
buffer = append(buffer, 0)
|
||||
buffer = append(buffer, request_body...)
|
||||
buffer = append(buffer, 0, 4)
|
||||
_, err = tdbms.conn.Write(buffer)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
var response []byte
|
||||
var resp_size int = -1
|
||||
buffer = make([]byte, 8192)
|
||||
for resp_size <= 0 {
|
||||
_, err = tdbms.conn.Read(buffer)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
response = append(response, buffer...)
|
||||
resp_size = bytes.IndexByte(response, 4)
|
||||
}
|
||||
return response[:resp_size-1]
|
||||
}
|
||||
Reference in New Issue
Block a user