Little refactoring
This commit is contained in:
@@ -2,7 +2,7 @@ module netsrv
|
||||
|
||||
go 1.19
|
||||
|
||||
require github.com/kindsoldier/dsrpc v1.1.1
|
||||
require github.com/kindsoldier/dsrpc v1.1.2
|
||||
|
||||
require (
|
||||
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/kindsoldier/dsrpc v1.1.1 h1:BZWuZexJVjhORsu30u3IRx5Piz1Za0TaIIBEXDOAqAM=
|
||||
github.com/kindsoldier/dsrpc v1.1.1/go.mod h1:HgludPEdSw8leTlAt9N5qzj3/u7xdMpHSvop/TapHKY=
|
||||
github.com/kindsoldier/dsrpc v1.1.2 h1:bFTIGpRSMq5OK1a3dHQxLPMxf6R+Ik15slkqNN0QrNE=
|
||||
github.com/kindsoldier/dsrpc v1.1.2/go.mod h1:KG8x2ZPid/hPJdhkUHtt1mDulWPVhj9fh/1XL3Z2xT8=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
||||
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
|
||||
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
|
||||
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
|
||||
|
||||
145
exec_test.go
145
exec_test.go
@@ -16,26 +16,47 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
const HelloMethod string = "hello"
|
||||
|
||||
type HelloParams struct {
|
||||
Message string `json:"message" msgpack:"message"`
|
||||
}
|
||||
|
||||
type HelloResult struct {
|
||||
Message string `json:"message" msgpack:"message"`
|
||||
}
|
||||
|
||||
const SaveMethod string = "save"
|
||||
|
||||
type SaveParams HelloParams
|
||||
type SaveResult HelloResult
|
||||
|
||||
const LoadMethod string = "load"
|
||||
|
||||
type LoadParams HelloParams
|
||||
type LoadResult HelloResult
|
||||
|
||||
func TestLocalExec(t *testing.T) {
|
||||
var err error
|
||||
params := NewHelloParams()
|
||||
params := HelloParams{}
|
||||
params.Message = "hello server!"
|
||||
result := NewHelloResult()
|
||||
result := HelloResult{}
|
||||
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
err = LocalExec(HelloMethod, params, result, auth, helloHandler)
|
||||
err = LocalExec(HelloMethod, ¶ms, &result, auth, helloHandler)
|
||||
require.NoError(t, err)
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
}
|
||||
|
||||
func TestLocalSave(t *testing.T) {
|
||||
var err error
|
||||
|
||||
params := NewSaveParams()
|
||||
params := SaveParams{}
|
||||
params.Message = "save data!"
|
||||
result := NewHelloResult()
|
||||
result := SaveResult{}
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
var binSize int64 = 16
|
||||
@@ -45,29 +66,29 @@ func TestLocalSave(t *testing.T) {
|
||||
|
||||
reader := bytes.NewReader(binBytes)
|
||||
|
||||
err = LocalPut(SaveMethod, reader, binSize, params, result, auth, saveHandler)
|
||||
err = LocalPut(SaveMethod, reader, binSize, ¶ms, &result, auth, saveHandler)
|
||||
require.NoError(t, err)
|
||||
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
}
|
||||
|
||||
func TestLocalLoad(t *testing.T) {
|
||||
var err error
|
||||
|
||||
params := NewLoadParams()
|
||||
params := LoadParams{}
|
||||
params.Message = "load data!"
|
||||
result := NewHelloResult()
|
||||
result := LoadResult{}
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
binBytes := make([]byte, 0)
|
||||
writer := bytes.NewBuffer(binBytes)
|
||||
|
||||
err = LocalGet(LoadMethod, writer, params, result, auth, loadHandler)
|
||||
err = LocalGet(LoadMethod, writer, ¶ms, &result, auth, loadHandler)
|
||||
require.NoError(t, err)
|
||||
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
logDebug("bin size:", len(writer.Bytes()))
|
||||
}
|
||||
|
||||
@@ -103,16 +124,16 @@ func BenchmarkNetPut(b *testing.B) {
|
||||
clientSave()
|
||||
}
|
||||
}
|
||||
b.SetParallelism(10)
|
||||
b.SetParallelism(2000)
|
||||
b.RunParallel(pBench)
|
||||
}
|
||||
|
||||
func clientHello() error {
|
||||
var err error
|
||||
|
||||
params := NewHelloParams()
|
||||
params := HelloParams{}
|
||||
params.Message = "hello server!"
|
||||
result := NewHelloResult()
|
||||
result := HelloResult{}
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
var binSize int64 = 16
|
||||
@@ -120,22 +141,22 @@ func clientHello() error {
|
||||
binBytes := make([]byte, binSize)
|
||||
rand.Read(binBytes)
|
||||
|
||||
err = Exec("127.0.0.1:8081", HelloMethod, params, result, auth)
|
||||
err = Exec("127.0.0.1:8081", HelloMethod, ¶ms, &result, auth)
|
||||
if err != nil {
|
||||
logError("method err:", err)
|
||||
return err
|
||||
}
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
return err
|
||||
}
|
||||
|
||||
func clientSave() error {
|
||||
var err error
|
||||
|
||||
params := NewSaveParams()
|
||||
params := SaveParams{}
|
||||
params.Message = "save data!"
|
||||
result := NewHelloResult()
|
||||
result := SaveResult{}
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
var binSize int64 = 16
|
||||
@@ -145,34 +166,34 @@ func clientSave() error {
|
||||
|
||||
reader := bytes.NewReader(binBytes)
|
||||
|
||||
err = Put("127.0.0.1:8081", SaveMethod, reader, binSize, params, result, auth)
|
||||
err = Put("127.0.0.1:8081", SaveMethod, reader, binSize, ¶ms, &result, auth)
|
||||
if err != nil {
|
||||
logError("method err:", err)
|
||||
return err
|
||||
}
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
return err
|
||||
}
|
||||
|
||||
func clientLoad() error {
|
||||
var err error
|
||||
|
||||
params := NewLoadParams()
|
||||
params := LoadParams{}
|
||||
params.Message = "load data!"
|
||||
result := NewHelloResult()
|
||||
result := LoadResult{}
|
||||
auth := CreateAuth([]byte("qwert"), []byte("12345"))
|
||||
|
||||
binBytes := make([]byte, 0)
|
||||
writer := bytes.NewBuffer(binBytes)
|
||||
|
||||
err = Get("127.0.0.1:8081", LoadMethod, writer, params, result, auth)
|
||||
err = Get("127.0.0.1:8081", LoadMethod, writer, ¶ms, &result, auth)
|
||||
if err != nil {
|
||||
logError("method err:", err)
|
||||
return err
|
||||
}
|
||||
resultJSON, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJSON))
|
||||
resultJson, _ := json.Marshal(result)
|
||||
logDebug("method result:", string(resultJson))
|
||||
logDebug("bin size:", len(writer.Bytes()))
|
||||
return err
|
||||
}
|
||||
@@ -219,7 +240,7 @@ func auth(content *Content) error {
|
||||
pass := []byte("12345")
|
||||
|
||||
auth := content.Auth()
|
||||
logDebug("auth ", string(auth.JSON()))
|
||||
logDebug("auth ", string(auth.Json()))
|
||||
|
||||
ok := CheckHash(ident, pass, reqSalt, reqHash)
|
||||
logDebug("auth ok:", ok)
|
||||
@@ -233,9 +254,9 @@ func auth(content *Content) error {
|
||||
|
||||
func helloHandler(content *Content) error {
|
||||
var err error
|
||||
params := NewHelloParams()
|
||||
params := HelloParams{}
|
||||
|
||||
err = content.BindParams(params)
|
||||
err = content.BindParams(¶ms)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -246,7 +267,7 @@ func helloHandler(content *Content) error {
|
||||
return err
|
||||
}
|
||||
|
||||
result := NewHelloResult()
|
||||
result := HelloResult{}
|
||||
result.Message = "hello, client!"
|
||||
|
||||
err = content.SendResult(result, 0)
|
||||
@@ -258,9 +279,9 @@ func helloHandler(content *Content) error {
|
||||
|
||||
func saveHandler(content *Content) error {
|
||||
var err error
|
||||
params := NewSaveParams()
|
||||
params := SaveParams{}
|
||||
|
||||
err = content.BindParams(params)
|
||||
err = content.BindParams(¶ms)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -274,7 +295,7 @@ func saveHandler(content *Content) error {
|
||||
return err
|
||||
}
|
||||
|
||||
result := NewSaveResult()
|
||||
result := SaveResult{}
|
||||
result.Message = "saved successfully!"
|
||||
|
||||
err = content.SendResult(result, 0)
|
||||
@@ -286,9 +307,9 @@ func saveHandler(content *Content) error {
|
||||
|
||||
func loadHandler(content *Content) error {
|
||||
var err error
|
||||
params := NewSaveParams()
|
||||
params := SaveParams{}
|
||||
|
||||
err = content.BindParams(params)
|
||||
err = content.BindParams(¶ms)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -306,7 +327,7 @@ func loadHandler(content *Content) error {
|
||||
|
||||
binReader := bytes.NewReader(binBytes)
|
||||
|
||||
result := NewSaveResult()
|
||||
result := SaveResult{}
|
||||
result.Message = "load successfully!"
|
||||
|
||||
err = content.SendResult(result, binSize)
|
||||
@@ -321,45 +342,3 @@ func loadHandler(content *Content) error {
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
const HelloMethod string = "hello"
|
||||
|
||||
type HelloParams struct {
|
||||
Message string `json:"message" msgpack:"message"`
|
||||
}
|
||||
|
||||
func NewHelloParams() *HelloParams {
|
||||
return &HelloParams{}
|
||||
}
|
||||
|
||||
type HelloResult struct {
|
||||
Message string `json:"message" msgpack:"message"`
|
||||
}
|
||||
|
||||
func NewHelloResult() *HelloResult {
|
||||
return &HelloResult{}
|
||||
}
|
||||
|
||||
const SaveMethod string = "save"
|
||||
|
||||
type SaveParams HelloParams
|
||||
type SaveResult HelloResult
|
||||
|
||||
func NewSaveParams() *SaveParams {
|
||||
return &SaveParams{}
|
||||
}
|
||||
func NewSaveResult() *SaveResult {
|
||||
return &SaveResult{}
|
||||
}
|
||||
|
||||
const LoadMethod string = "load"
|
||||
|
||||
type LoadParams HelloParams
|
||||
type LoadResult HelloResult
|
||||
|
||||
func NewLoadParams() *LoadParams {
|
||||
return &LoadParams{}
|
||||
}
|
||||
func NewLoadResult() *LoadResult {
|
||||
return &LoadResult{}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user