Documentation
¶
Index ¶
- Constants
- Variables
- func DecodeAny(model interface{}, r io.Reader) error
- func DecodeAnyJSON(model interface{}, data []byte) error
- func EnableLog()
- func EnableVerify()
- func EncodeAny(w io.Writer, data interface{}) error
- func EncodeAnyJSON(data interface{}) ([]byte, error)
- func EncodeData(w io.Writer, data PlnackOutData) error
- func EncodeGin(c *gin.Context, data PlnackData) error
- func EncodeGinData(c *gin.Context, data PlnackOutData) error
- func EncodeHTTP(r http.ResponseWriter, data PlnackOutData) error
- func EncodeJSONData(data PlnackOutData) ([]byte, error)
- func EncodePlnack(w io.Writer, data PlnackData) error
- func EncodePlnackJson(data PlnackData) ([]byte, error)
- func EncodeSocket(conn *net.TCPConn, data PlnackOutData) error
- func RegStruct(s interface{})
- func RegStructs(ss ...interface{})
- func SetLoggerWriter(w io.Writer)
- func VerifyAny(d interface{}) *validate.Validation
- func VerifyPlnackIn(pi *PlnackInData) error
- func VerifyPlnackOut(po *PlnackOutData) error
- type PlnackClient
- type PlnackData
- type PlnackInData
- type PlnackOutData
- type PlnackServer
Constants ¶
View Source
const ( PtypeServer = "server" PtypeClient = "client" PtypeDefault = "" )
View Source
const (
TCP = "tcp4"
)
Variables ¶
View Source
var PLNACK_LOG bool
PLNACK_LOG 控制是否打印日志
View Source
var (
PlnackVerify = false
)
Functions ¶
func DecodeAnyJSON ¶
DecodeAnyJSON 自定义结构体解析
func EncodeAnyJSON ¶ added in v1.0.4
func EncodeGin ¶ added in v1.0.5
func EncodeGin(c *gin.Context, data PlnackData) error
EncodeGin 直接将数据定向输出到gin的上下文
func EncodeGinData ¶
func EncodeGinData(c *gin.Context, data PlnackOutData) error
EncodeGinData 向gin上下文写入
func EncodeHTTP ¶
func EncodeHTTP(r http.ResponseWriter, data PlnackOutData) error
EncodeHTTP 向http标准输出写入
func EncodeJSONData ¶
func EncodeJSONData(data PlnackOutData) ([]byte, error)
EncodeJSONData 输出为JSON数据
func EncodePlnack ¶ added in v1.0.4
func EncodePlnack(w io.Writer, data PlnackData) error
func EncodePlnackJson ¶ added in v1.0.4
func EncodePlnackJson(data PlnackData) ([]byte, error)
func EncodeSocket ¶ added in v1.0.4
func EncodeSocket(conn *net.TCPConn, data PlnackOutData) error
func RegStructs ¶
func RegStructs(ss ...interface{})
func SetLoggerWriter ¶
func VerifyAny ¶ added in v1.0.4
func VerifyAny(d interface{}) *validate.Validation
VerifyAny 校验任意结构体 需要满足validate
func VerifyPlnackIn ¶ added in v1.0.4
func VerifyPlnackIn(pi *PlnackInData) error
VerifyPlnackIn 校验plnack结构体
func VerifyPlnackOut ¶ added in v1.0.4
func VerifyPlnackOut(po *PlnackOutData) error
VerifyPlnackOut 校验输出
Types ¶
type PlnackClient ¶ added in v1.0.4
func NewPlnackClient ¶ added in v1.0.4
func NewPlnackClient(address string, port int) *PlnackClient
NewPlnackClient 封装的tcp客户端
func (*PlnackClient) Send ¶ added in v1.0.4
func (p *PlnackClient) Send(data PlnackData) error
type PlnackData ¶ added in v1.0.4
type PlnackData struct { Key string `json:"key" validate:"required"` Type string `json:"type" validate:"in:server, client,''"` Version string `json:"version" validate:"required"` AppName string `json:"app_name" validate:"required"` Data interface{} `json:"data" validate:"required"` KeyVerify bool `json:"key_verify"` Time time.Time `json:"time" validate:"required"` }
PlnackData 双向通信的服务协议
func DecodeGin ¶ added in v1.0.5
func DecodeGin(c *gin.Context) (PlnackData, error)
DecodeGin 直接从gin的body中解码数据
func DecodePlnack ¶ added in v1.0.4
func DecodePlnack(r io.Reader) (PlnackData, error)
func DecodePlnackJson ¶ added in v1.0.4
func DecodePlnackJson(j []byte) (PlnackData, error)
type PlnackInData ¶
type PlnackInData struct { Key string `json:"key" validate:"required"` Version string `json:"version" validate:"required"` AppName string `json:"app_name" validate:"required"` Data interface{} `json:"data" validate:"required"` }
PlnackInData 标准的plnack输入结构体
func DecodeGinData ¶
func DecodeGinData(c *gin.Context) (PlnackInData, error)
DecodeGinData 从gin 上下文读取数据
func DecodeHTTP ¶
func DecodeHTTP(r http.Request) (PlnackInData, error)
DecodeHTTP 从常规的http reader中读取
func DecodeJSONData ¶
func DecodeJSONData(j []byte) (PlnackInData, error)
DecodeJSONData 从非gob的json数据读取 直接接受字节流
func DecodeSocket ¶ added in v1.0.4
func DecodeSocket(conn *net.TCPConn) (PlnackInData, error)
DecodeSocket 从tcp句柄中读取
func (*PlnackInData) Check ¶ added in v1.0.4
func (pi *PlnackInData) Check() error
type PlnackOutData ¶
type PlnackOutData struct { KeyVerify bool `json:"key_verify" validate:"required"` Version string `json:"version" validate:"required"` AppName string `json:"app_name" validate:"required"` Data interface{} `json:"data" validate:"required"` Time time.Time `json:"time" validate:"required"` }
PlnackOutData 标准的plnack返回值
func (*PlnackOutData) Check ¶ added in v1.0.4
func (po *PlnackOutData) Check() error
type PlnackServer ¶ added in v1.0.4
func NewPlnackServer ¶ added in v1.0.4
func NewPlnackServer(address string, port int) *PlnackServer
NewPlnackServer 封装的tcp服务端
func (*PlnackServer) Close ¶ added in v1.0.4
func (p *PlnackServer) Close() error
func (*PlnackServer) Receive ¶ added in v1.0.4
func (p *PlnackServer) Receive() (PlnackData, error)
func (*PlnackServer) RemoteIP ¶ added in v1.0.4
func (p *PlnackServer) RemoteIP() net.Addr
func (*PlnackServer) Run ¶ added in v1.0.4
func (p *PlnackServer) Run() error
Click to show internal directories.
Click to hide internal directories.