Documentation
¶
Index ¶
- Constants
- Variables
- type IPCServer
- type MqttConnackVariableHeader
- type MqttConnect
- func (mqttconn *MqttConnect) Accept(_ ZeroServ, connect net.Conn) error
- func (mqttconn *MqttConnect) AddListener(xListener MqttMessageListener)
- func (mqttconn *MqttConnect) Close() error
- func (mqttconn *MqttConnect) OnMessage(datas []byte) error
- func (mqttconn *MqttConnect) RegisterId() string
- func (mqttconn *MqttConnect) UpdateSerialNnumber(serialNnumber uint16)
- func (mqttconn *MqttConnect) UseSerialNnumber() uint16
- type MqttConnectBuilder
- type MqttConnectVariableHeader
- func (connectHeader *MqttConnectVariableHeader) CleanSession() byte
- func (connectHeader *MqttConnectVariableHeader) KeepAlive() int
- func (connectHeader *MqttConnectVariableHeader) Level() byte
- func (connectHeader *MqttConnectVariableHeader) PasswordFlag() byte
- func (connectHeader *MqttConnectVariableHeader) Protocol() string
- func (connectHeader *MqttConnectVariableHeader) ProtocolLength() int
- func (connectHeader *MqttConnectVariableHeader) Reserved() byte
- func (connectHeader *MqttConnectVariableHeader) UserNameFlag() byte
- func (connectHeader *MqttConnectVariableHeader) WillFlag() byte
- func (connectHeader *MqttConnectVariableHeader) WillQos() byte
- func (connectHeader *MqttConnectVariableHeader) WillRetain() byte
- type MqttCorePayload
- type MqttCoreVariableHeader
- type MqttFixedHeader
- func (fixedHeader *MqttFixedHeader) B0() byte
- func (fixedHeader *MqttFixedHeader) B1() byte
- func (fixedHeader *MqttFixedHeader) B2() byte
- func (fixedHeader *MqttFixedHeader) B3() byte
- func (fixedHeader *MqttFixedHeader) BTvarL(bytes []byte) int
- func (fixedHeader *MqttFixedHeader) CompleteLength() int
- func (fixedHeader *MqttFixedHeader) Length() []byte
- func (fixedHeader *MqttFixedHeader) LessLength() int
- func (fixedHeader *MqttFixedHeader) MessageType() byte
- func (fixedHeader *MqttFixedHeader) MessageTypeString() string
- func (fixedHeader *MqttFixedHeader) Qos() byte
- func (fixedHeader *MqttFixedHeader) Size() int
- func (fixedHeader *MqttFixedHeader) With(header byte, length []byte)
- type MqttIdentifierVariableHeader
- type MqttMessage
- func (message *MqttMessage) Bytes() []byte
- func (message *MqttMessage) FixedHeader() *MqttFixedHeader
- func (message *MqttMessage) MakeConnackMessage()
- func (message *MqttMessage) MakePingrespMessage()
- func (message *MqttMessage) MakePubackMessage(identifier uint16)
- func (message *MqttMessage) MakePubcompMessage(identifier uint16)
- func (message *MqttMessage) MakePublistMessage(topic string, identifier uint16, flag byte, data []byte)
- func (message *MqttMessage) MakePubrecMessage(identifier uint16)
- func (message *MqttMessage) MakePubrelMessage(identifier uint16)
- func (message *MqttMessage) MakeSubackMessage(identifier uint16, results []byte)
- func (message *MqttMessage) Payload() MqttCorePayload
- func (message *MqttMessage) VariableHeader() MqttCoreVariableHeader
- type MqttMessageListener
- type MqttParamsPayload
- type MqttPayload
- type MqttPublishVariableHeader
- type MqttServer
- type MqttSubscribePayload
- type MqttTopic
- type MqttVariableHeader
- type TCPClient
- func (client *TCPClient) Active() bool
- func (client *TCPClient) AddChecker(checker ZeroDataChecker)
- func (client *TCPClient) AddListener(xListener ZeroClientListener)
- func (client *TCPClient) CheckPackageData(data []byte) [][]byte
- func (client *TCPClient) Close() error
- func (client *TCPClient) Connect()
- func (client *TCPClient) Heartbeat()
- func (client *TCPClient) HeartbeatCheck(heartbeatSeconds int64) bool
- func (client *TCPClient) OnMessage(datas []byte) error
- func (client *TCPClient) RemoteAddr() string
- func (client *TCPClient) This() interface{}
- func (client *TCPClient) Write(datas []byte) error
- type TCPServer
- type UDPMessageProcesser
- type UDPServer
- type XhttpExecutor
- type XhttpFromFile
- type XhttpInterceptor
- type ZeroClientConnect
- type ZeroClientListener
- type ZeroConnect
- type ZeroConnectBuilder
- type ZeroDataChecker
- type ZeroServ
- type ZeroServerWatcher
- type ZeroSocketConnect
- func (zSock *ZeroSocketConnect) Accept(zserv ZeroServ, connect net.Conn) error
- func (zSock *ZeroSocketConnect) AcceptTime() int64
- func (zSock *ZeroSocketConnect) Active() bool
- func (zSock *ZeroSocketConnect) AddChecker(checker ZeroDataChecker)
- func (zSock *ZeroSocketConnect) Authorized(authMessage ...byte) bool
- func (zSock *ZeroSocketConnect) CheckPackageData(data []byte) [][]byte
- func (zSock *ZeroSocketConnect) Clock() *ring.Ring
- func (zSock *ZeroSocketConnect) Close() error
- func (zSock *ZeroSocketConnect) ConnectId() string
- func (zSock *ZeroSocketConnect) FlushClock(clock *ring.Ring)
- func (zSock *ZeroSocketConnect) FlushNode(node *list.Element)
- func (zSock *ZeroSocketConnect) Heartbeat()
- func (zSock *ZeroSocketConnect) HeartbeatCheck(heartbeatSeconds int64) bool
- func (zSock *ZeroSocketConnect) HeartbeatTime() int64
- func (zSock *ZeroSocketConnect) Node() *list.Element
- func (zSock *ZeroSocketConnect) OnMessage(datas []byte) error
- func (zSock *ZeroSocketConnect) RegisterId() string
- func (zSock *ZeroSocketConnect) RemoteAddr() string
- func (zSock *ZeroSocketConnect) This() interface{}
- func (zSock *ZeroSocketConnect) Write(datas []byte) error
- type ZeroSocketServer
- func (sockServer *ZeroSocketServer) AddWatchers(watchers ...ZeroServerWatcher)
- func (sockServer *ZeroSocketServer) OnAuthorized(conn ZeroConnect) error
- func (sockServer *ZeroSocketServer) OnConnect(conn ZeroConnect) error
- func (sockServer *ZeroSocketServer) OnDisconnect(conn ZeroConnect) error
- func (sockServer *ZeroSocketServer) OnHeartbeat(conn ZeroConnect) error
- func (sockServer *ZeroSocketServer) RunServer()
- func (sockServer *ZeroSocketServer) UseConnect(registerId string) (ZeroConnect, error)
Constants ¶
View Source
const ( CONNECT = 0b0001 CONNACK = 0b0010 PUBLISH = 0b0011 PUBACK = 0b0100 PUBREC = 0b0101 PUBREL = 0b0110 PUBCOMP = 0b0111 SUBSCRIBE = 0b1000 SUBACK = 0b1001 UNSUBSCRIBE = 0b1010 UNSUBACK = 0b1011 PINGREQ = 0b1100 PINGRESP = 0b1101 DISCONNECT = 0b1110 LESS_LENGTH_LIMIT4 = 0x0FFFFFFF LESS_LENGTH_LIMIT3 = 0x001FFFFF LESS_LENGTH_LIMIT2 = 0x00003FFF LESS_LENGTH_LIMIT1 = 0x0000007F Qos0 = 0b00 Qos1 = 0b01 Qos2 = 0b10 FIXED_FLAG_NONE = 0b0000 FIXED_FLAG_Qos0s = 0b0000 FIXED_FLAG_Qos1s = 0b0010 FIXED_FLAG_Qos2s = 0b0100 )
View Source
const ( MQTT_HEADER = "MQTT" MQTT_LEVEL_3_1_1 = 0x04 CONNECT_VARIABLE_HEADER_LEN = 10 )
View Source
const (
CORE_MQTT_SERVER = "X##!CORE_MQTT_SERVER"
)
View Source
const XHTTP_QUERY_OPTIONS_ALL = "all"
Variables ¶
View Source
var DefaultMqttChecker = func() *xMqttDataChecker {
return &xMqttDataChecker{}
}
View Source
var RunHttpServer = func(handlers ...*XhttpExecutor) { prefix := path.Join("/", global.StringValue("zero.httpserver.prefix")) server := http.Server{Addr: fmt.Sprintf("%s:%d", global.StringValue("zero.httpserver.hostname"), global.IntValue("zero.httpserver.port"))} for _, handler := range handlers { if handler.funcmode { if strings.HasSuffix(handler.path, "/") { http.HandleFunc(fmt.Sprintf("%s/", path.Join(prefix, handler.path)), handler.executorfunc) global.Logger().Info(fmt.Sprintf("http server register path : %s", fmt.Sprintf("%s/", path.Join(prefix, handler.path)))) } else { http.HandleFunc(path.Join(prefix, handler.path), handler.executorfunc) global.Logger().Info(fmt.Sprintf("http server register path : %s", path.Join(prefix, handler.path))) } } else { if strings.HasSuffix(handler.path, "/") { http.Handle(fmt.Sprintf("%s/", path.Join(prefix, handler.path)), handler.executor) global.Logger().Info(fmt.Sprintf("http server register path : %s", fmt.Sprintf("%s/", path.Join(prefix, handler.path)))) } else { http.Handle(path.Join(prefix, handler.path), handler.executor) global.Logger().Info(fmt.Sprintf("http server register path : %s", path.Join(prefix, handler.path))) } } } global.Logger().Info(fmt.Sprintf("http server start on : http://%s:%d%s", global.StringValue("zero.httpserver.hostname"), global.IntValue("zero.httpserver.port"), prefix)) server.ListenAndServe() }
View Source
var RunInterceptor = func(interceptor XhttpInterceptor, handlers ...*XhttpExecutor) { prefix := path.Join("/", global.StringValue("zero.httpserver.prefix")) server := http.Server{Addr: fmt.Sprintf("%s:%d", global.StringValue("zero.httpserver.hostname"), global.IntValue("zero.httpserver.port"))} for _, handler := range handlers { if strings.HasSuffix(handler.path, "/") { http.Handle(fmt.Sprintf("%s/", path.Join(prefix, handler.path)), interceptor.Registry(handler)) global.Logger().Info(fmt.Sprintf("http server register path : %s", fmt.Sprintf("%s/", path.Join(prefix, handler.path)))) } else { http.Handle(path.Join(prefix, handler.path), interceptor.Registry(handler)) global.Logger().Info(fmt.Sprintf("http server register path : %s", path.Join(prefix, handler.path))) } } global.Logger().Info(fmt.Sprintf("http server start on : http://%s:%d%s", global.StringValue("zero.httpserver.hostname"), global.IntValue("zero.httpserver.port"), prefix)) server.ListenAndServe() }
View Source
var XhttpCompleteQueryOperation = func(xRequest *structs.ZeroRequest, xProcessor processors.ZeroQueryOperation, tableName string) (processors.ZeroQueryOperation, *processors.ZeroQuery, error) { xQuery, err := XhttpZeroQuery(xRequest) if err != nil { return nil, nil, err } xProcessor.AddQuery(xQuery) xProcessor.AddTableName(tableName) return xProcessor, xQuery, nil }
View Source
var XhttpContainsOptions = func(xRequest *structs.ZeroRequest, option string) bool { if _, ok := xRequest.Expands["options"]; ok { return strings.Contains(xRequest.Expands["options"].(string), option) || strings.Contains(xRequest.Expands["options"].(string), XHTTP_QUERY_OPTIONS_ALL) } return false }
View Source
var XhttpEQuery = func(xRequest *structs.ZeroRequest) (*database.EQuerySearch, error) { if len(xRequest.Querys) <= 0 { return nil, errors.New("missing necessary parameter `query[0]`") } bytes, err := json.Marshal(xRequest.Querys[0]) if err != nil { return nil, err } var query database.EQuerySearch err = json.Unmarshal(bytes, &query) if err != nil { return nil, err } return &query, nil }
View Source
var XhttpEQueryRequest = func(xRequest *structs.ZeroRequest, indexName string) (*database.EQueryRequest, *database.EQuerySearch, error) { xEQuery, err := XhttpEQuery(xRequest) if err != nil { return nil, nil, err } if xEQuery.Size > 1000 { xEQuery.Size = 1000 } eRequest := &database.EQueryRequest{Query: xEQuery} eRequest.InitIndex(indexName) return eRequest, xEQuery, nil }
View Source
var XhttpEachQuerys = func(req *http.Request, performer func(*structs.ZeroRequest, []byte)) (*structs.ZeroRequest, error) { xRequest, err := XhttpZeroRequest(req) if err != nil { return nil, err } for _, xQuery := range xRequest.Querys { jsonbytes, err := json.Marshal(xQuery) if err != nil { return nil, err } performer(xRequest, jsonbytes) } return xRequest, nil }
View Source
var XhttpFromFileRequest = func(req *http.Request, maxmem int64) ([]*XhttpFromFile, error) { err := req.ParseMultipartForm(maxmem) if err != nil { return nil, err } formfiles := make([]*XhttpFromFile, 0) for formName := range req.MultipartForm.File { formFile, formFileHeader, err := req.FormFile(formName) if err != nil { return nil, err } defer formFile.Close() filebytes, err := io.ReadAll(formFile) if err != nil { return nil, err } formfiles = append(formfiles, &XhttpFromFile{ header: formFileHeader, filesbytes: filebytes, }) } return formfiles, nil }
View Source
var XhttpFuncHandle = func(funcx func(http.ResponseWriter, *http.Request), path ...string) *XhttpExecutor { return &XhttpExecutor{ funcmode: true, path: xhttpuri(path...), executorfunc: funcx, } }
View Source
var XhttpHandle = func(handler http.Handler, path ...string) *XhttpExecutor { return &XhttpExecutor{ funcmode: false, path: xhttpuri(path...), executor: handler, } }
View Source
var XhttpKeyValueRequest = func(req *http.Request) map[string]string { kv := make(map[string]string) if req.URL.Query() != nil { for k := range req.URL.Query() { kv[k] = req.URL.Query().Get(k) } } if req.PostForm != nil { for k := range req.PostForm { kv[k] = req.PostFormValue(k) } } return kv }
View Source
var XhttpMysqlQueryOperation = func(xRequest *structs.ZeroRequest, tableName string) (processors.ZeroQueryOperation, *processors.ZeroQuery, error) { xQuery, err := XhttpZeroQuery(xRequest) if err != nil { return nil, nil, err } return processors.NewZeroMysqlQueryOperation(xQuery, tableName), xQuery, nil }
View Source
var XhttpPerform = func(executor *XhttpExecutor, writer http.ResponseWriter, request *http.Request) {
if executor.funcmode {
executor.executorfunc(writer, request)
} else {
executor.executor.ServeHTTP(writer, request)
}
}
View Source
var XhttpPostgresQueryOperation = func(xRequest *structs.ZeroRequest, tableName string) (processors.ZeroQueryOperation, *processors.ZeroQuery, error) { xQuery, err := XhttpZeroQuery(xRequest) if err != nil { return nil, nil, err } return processors.NewZeroPostgresQueryOperation(xQuery, tableName), xQuery, nil }
View Source
var XhttpQueryOptions = func(xRequest *structs.ZeroRequest) []string { xoptions := make([]string, 0) if xRequest.Expands == nil { return xoptions } if _, ok := xRequest.Expands["options"]; ok { xoptionItems := strings.Split(xRequest.Expands["options"].(string), "|") for _, xoption := range xoptionItems { if xoption == XHTTP_QUERY_OPTIONS_ALL { return []string{XHTTP_QUERY_OPTIONS_ALL} } xoptions = append(xoptions, strings.ToLower(xoption)) } } return xoptions }
View Source
var XhttpResponseDatas = func(writer http.ResponseWriter, code int, message string, datas []interface{}, expands map[string]interface{}) { bytes, err := json.Marshal(structs.ZeroResponse{ Code: code, Message: message, Datas: datas, Expands: expands, }) if err != nil { panic(err) } writer.Header().Set("Content-Type", "application/json") writer.WriteHeader(code) writer.Write(bytes) }
View Source
var XhttpResponseMaps = func(writer http.ResponseWriter, code int, message string, datas []map[string]interface{}, expands map[string]interface{}) { response := make(map[string]interface{}) response["code"] = code response["message"] = message response["datas"] = datas response["expands"] = expands bytes, err := json.Marshal(response) if err != nil { panic(err) } writer.Header().Set("Content-Type", "application/json") writer.WriteHeader(code) writer.Write(bytes) }
View Source
var XhttpResponseMessages = func(writer http.ResponseWriter, code int, message string) { XhttpResponseDatas(writer, code, message, nil, nil) }
View Source
var XhttpURIParams = func(req *http.Request, xPattern string) map[string]string { uriparams := make(map[string]string) xAfter := xPattern[:strings.Index(xPattern, ":")] if strings.Index(req.URL.Path, xAfter) > 0 { xFieldItems := strings.Split(xPattern[strings.Index(xPattern, xAfter)+len(xAfter):], "/") xParamsURI := req.URL.Path[strings.Index(req.URL.Path, xAfter)+len(xAfter):] xParamsItems := strings.Split(xParamsURI, "/") for i, item := range xFieldItems { if strings.HasPrefix(item, ":") && len(xParamsItems) > i { uriparams[item[1:]] = xParamsItems[i] } } } return uriparams }
View Source
var XhttpUnitaryQuerys = func(req *http.Request) (*structs.ZeroRequest, []byte, error) { xRequest, err := XhttpZeroRequest(req) if err != nil { return nil, nil, err } if len(xRequest.Querys) <= 0 { return nil, nil, fmt.Errorf("no operation required") } if len(xRequest.Querys) > 1 { return nil, nil, fmt.Errorf("operation not supported") } jsonbytes, err := json.Marshal(xRequest.Querys[0]) if err != nil { return nil, nil, err } return xRequest, jsonbytes, nil }
View Source
var XhttpZeroQuery = func(xRequest *structs.ZeroRequest) (*processors.ZeroQuery, error) { if len(xRequest.Querys) <= 0 { return nil, errors.New("missing necessary parameter `query[0]`") } bytes, err := json.Marshal(xRequest.Querys[0]) if err != nil { return nil, err } var query processors.ZeroQuery err = json.Unmarshal(bytes, &query) if err != nil { return nil, err } return &query, nil }
Functions ¶
This section is empty.
Types ¶
type IPCServer ¶ added in v1.3.0
type IPCServer struct { ZeroSocketServer // contains filtered or unexported fields }
func NewIPCServer ¶ added in v1.3.0
type MqttConnackVariableHeader ¶ added in v1.3.0
type MqttConnackVariableHeader struct {
MqttVariableHeader
}
func (*MqttConnackVariableHeader) ReturnCode ¶ added in v1.3.0
func (connackHeader *MqttConnackVariableHeader) ReturnCode() byte
func (*MqttConnackVariableHeader) SessionPresent ¶ added in v1.3.0
func (connackHeader *MqttConnackVariableHeader) SessionPresent() byte
type MqttConnect ¶ added in v1.3.0
type MqttConnect struct { ZeroSocketConnect // contains filtered or unexported fields }
func NewMqttConnect ¶ added in v1.16.29
func NewMqttConnect() MqttConnect
func NewMqttConnectPtr ¶ added in v1.20.9
func NewMqttConnectPtr() *MqttConnect
func (*MqttConnect) Accept ¶ added in v1.3.0
func (mqttconn *MqttConnect) Accept(_ ZeroServ, connect net.Conn) error
func (*MqttConnect) AddListener ¶ added in v1.12.22
func (mqttconn *MqttConnect) AddListener(xListener MqttMessageListener)
func (*MqttConnect) Close ¶ added in v1.3.0
func (mqttconn *MqttConnect) Close() error
func (*MqttConnect) OnMessage ¶ added in v1.3.0
func (mqttconn *MqttConnect) OnMessage(datas []byte) error
func (*MqttConnect) RegisterId ¶ added in v1.3.0
func (mqttconn *MqttConnect) RegisterId() string
func (*MqttConnect) UpdateSerialNnumber ¶ added in v1.12.29
func (mqttconn *MqttConnect) UpdateSerialNnumber(serialNnumber uint16)
func (*MqttConnect) UseSerialNnumber ¶ added in v1.12.24
func (mqttconn *MqttConnect) UseSerialNnumber() uint16
type MqttConnectBuilder ¶ added in v1.20.2
type MqttConnectBuilder struct{}
func (*MqttConnectBuilder) NewConnect ¶ added in v1.20.2
func (xDefault *MqttConnectBuilder) NewConnect() ZeroConnect
type MqttConnectVariableHeader ¶ added in v1.3.0
type MqttConnectVariableHeader struct {
MqttVariableHeader
}
func (*MqttConnectVariableHeader) CleanSession ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) CleanSession() byte
func (*MqttConnectVariableHeader) KeepAlive ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) KeepAlive() int
func (*MqttConnectVariableHeader) Level ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) Level() byte
func (*MqttConnectVariableHeader) PasswordFlag ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) PasswordFlag() byte
func (*MqttConnectVariableHeader) Protocol ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) Protocol() string
func (*MqttConnectVariableHeader) ProtocolLength ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) ProtocolLength() int
func (*MqttConnectVariableHeader) Reserved ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) Reserved() byte
func (*MqttConnectVariableHeader) UserNameFlag ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) UserNameFlag() byte
func (*MqttConnectVariableHeader) WillFlag ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) WillFlag() byte
func (*MqttConnectVariableHeader) WillQos ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) WillQos() byte
func (*MqttConnectVariableHeader) WillRetain ¶ added in v1.3.0
func (connectHeader *MqttConnectVariableHeader) WillRetain() byte
type MqttCorePayload ¶ added in v1.3.0
type MqttCorePayload interface {
Payload() []byte
}
type MqttCoreVariableHeader ¶ added in v1.3.0
type MqttCoreVariableHeader interface {
VariableHeader() []byte
}
type MqttFixedHeader ¶ added in v1.3.0
type MqttFixedHeader struct {
// contains filtered or unexported fields
}
func (*MqttFixedHeader) B0 ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) B0() byte
func (*MqttFixedHeader) B1 ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) B1() byte
func (*MqttFixedHeader) B2 ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) B2() byte
func (*MqttFixedHeader) B3 ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) B3() byte
func (*MqttFixedHeader) BTvarL ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) BTvarL(bytes []byte) int
func (*MqttFixedHeader) CompleteLength ¶ added in v1.21.7
func (fixedHeader *MqttFixedHeader) CompleteLength() int
func (*MqttFixedHeader) Length ¶ added in v1.20.6
func (fixedHeader *MqttFixedHeader) Length() []byte
func (*MqttFixedHeader) LessLength ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) LessLength() int
func (*MqttFixedHeader) MessageType ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) MessageType() byte
func (*MqttFixedHeader) MessageTypeString ¶ added in v1.3.0
func (fixedHeader *MqttFixedHeader) MessageTypeString() string
func (*MqttFixedHeader) Qos ¶ added in v1.21.5
func (fixedHeader *MqttFixedHeader) Qos() byte
func (*MqttFixedHeader) Size ¶ added in v1.21.7
func (fixedHeader *MqttFixedHeader) Size() int
func (*MqttFixedHeader) With ¶ added in v1.21.2
func (fixedHeader *MqttFixedHeader) With(header byte, length []byte)
type MqttIdentifierVariableHeader ¶ added in v1.3.0
type MqttIdentifierVariableHeader struct {
MqttVariableHeader
}
func (*MqttIdentifierVariableHeader) Identifier ¶ added in v1.3.0
func (identifierHeader *MqttIdentifierVariableHeader) Identifier() uint16
type MqttMessage ¶ added in v1.3.0
type MqttMessage struct {
// contains filtered or unexported fields
}
func ParseMqttMessage ¶ added in v1.20.6
func ParseMqttMessage(data []byte) (*MqttMessage, error)
func (*MqttMessage) Bytes ¶ added in v1.3.0
func (message *MqttMessage) Bytes() []byte
func (*MqttMessage) FixedHeader ¶ added in v1.3.0
func (message *MqttMessage) FixedHeader() *MqttFixedHeader
func (*MqttMessage) MakeConnackMessage ¶ added in v1.3.0
func (message *MqttMessage) MakeConnackMessage()
func (*MqttMessage) MakePingrespMessage ¶ added in v1.3.0
func (message *MqttMessage) MakePingrespMessage()
func (*MqttMessage) MakePubackMessage ¶ added in v1.3.0
func (message *MqttMessage) MakePubackMessage(identifier uint16)
func (*MqttMessage) MakePubcompMessage ¶ added in v1.21.7
func (message *MqttMessage) MakePubcompMessage(identifier uint16)
func (*MqttMessage) MakePublistMessage ¶ added in v1.3.0
func (message *MqttMessage) MakePublistMessage(topic string, identifier uint16, flag byte, data []byte)
func (*MqttMessage) MakePubrecMessage ¶ added in v1.21.7
func (message *MqttMessage) MakePubrecMessage(identifier uint16)
func (*MqttMessage) MakePubrelMessage ¶ added in v1.3.0
func (message *MqttMessage) MakePubrelMessage(identifier uint16)
func (*MqttMessage) MakeSubackMessage ¶ added in v1.3.0
func (message *MqttMessage) MakeSubackMessage(identifier uint16, results []byte)
func (*MqttMessage) Payload ¶ added in v1.3.0
func (message *MqttMessage) Payload() MqttCorePayload
func (*MqttMessage) VariableHeader ¶ added in v1.3.0
func (message *MqttMessage) VariableHeader() MqttCoreVariableHeader
type MqttMessageListener ¶ added in v1.12.20
type MqttMessageListener interface {
Publish(ZeroConnect, *MqttMessage) error
}
type MqttParamsPayload ¶ added in v1.3.0
type MqttParamsPayload struct { MqttPayload // contains filtered or unexported fields }
func (*MqttParamsPayload) Params ¶ added in v1.3.0
func (connectPayload *MqttParamsPayload) Params() []string
type MqttPayload ¶ added in v1.3.0
type MqttPayload struct {
// contains filtered or unexported fields
}
func (*MqttPayload) Payload ¶ added in v1.3.0
func (payload *MqttPayload) Payload() []byte
type MqttPublishVariableHeader ¶ added in v1.3.0
type MqttPublishVariableHeader struct {
MqttVariableHeader
}
func (*MqttPublishVariableHeader) Identifier ¶ added in v1.3.0
func (publishVariableHeader *MqttPublishVariableHeader) Identifier() uint16
func (*MqttPublishVariableHeader) Topic ¶ added in v1.3.0
func (publishVariableHeader *MqttPublishVariableHeader) Topic() string
type MqttServer ¶ added in v1.3.0
type MqttServer struct { TCPServer // contains filtered or unexported fields }
func NewMqttServer ¶ added in v1.3.0
func NewMqttServer(address string, authWaitSeconds int64, heartbeatSeconds int64, bufferSize int) *MqttServer
func (*MqttServer) RunServer ¶ added in v1.3.0
func (mqttserv *MqttServer) RunServer()
type MqttSubscribePayload ¶ added in v1.3.0
type MqttSubscribePayload struct { MqttPayload // contains filtered or unexported fields }
func (*MqttSubscribePayload) Topics ¶ added in v1.3.0
func (subscribePayload *MqttSubscribePayload) Topics() []*MqttTopic
type MqttVariableHeader ¶ added in v1.3.0
type MqttVariableHeader struct {
// contains filtered or unexported fields
}
func (*MqttVariableHeader) VariableHeader ¶ added in v1.3.0
func (variableHeader *MqttVariableHeader) VariableHeader() []byte
type TCPClient ¶ added in v1.7.0
func NewTCPClient ¶ added in v1.7.0
func (*TCPClient) AddChecker ¶ added in v1.7.0
func (client *TCPClient) AddChecker(checker ZeroDataChecker)
func (*TCPClient) AddListener ¶ added in v1.7.0
func (client *TCPClient) AddListener(xListener ZeroClientListener)
func (*TCPClient) CheckPackageData ¶ added in v1.7.0
func (*TCPClient) HeartbeatCheck ¶ added in v1.7.0
func (*TCPClient) RemoteAddr ¶ added in v1.7.0
type TCPServer ¶ added in v1.3.0
type TCPServer struct { ZeroSocketServer // contains filtered or unexported fields }
func NewTCPServer ¶ added in v1.3.0
type UDPMessageProcesser ¶ added in v1.3.0
type UDPServer ¶ added in v1.3.0
type UDPServer struct {
// contains filtered or unexported fields
}
func NewUDPServer ¶ added in v1.3.0
func NewUDPServer(port int, bufferSize int, checker ZeroDataChecker, processer UDPMessageProcesser) *UDPServer
type XhttpExecutor ¶ added in v1.0.1
type XhttpExecutor struct {
// contains filtered or unexported fields
}
type XhttpFromFile ¶ added in v1.12.0
type XhttpFromFile struct {
// contains filtered or unexported fields
}
func (*XhttpFromFile) FileHeader ¶ added in v1.12.0
func (xfile *XhttpFromFile) FileHeader() *multipart.FileHeader
func (*XhttpFromFile) FileName ¶ added in v1.12.0
func (xfile *XhttpFromFile) FileName() string
func (*XhttpFromFile) FileSize ¶ added in v1.12.0
func (xfile *XhttpFromFile) FileSize() int64
func (*XhttpFromFile) FilesBytes ¶ added in v1.12.0
func (xfile *XhttpFromFile) FilesBytes() []byte
func (*XhttpFromFile) MIMEHeader ¶ added in v1.12.0
func (xfile *XhttpFromFile) MIMEHeader() textproto.MIMEHeader
type XhttpInterceptor ¶ added in v1.15.6
type XhttpInterceptor interface {
Registry(*XhttpExecutor) http.Handler
}
type ZeroClientConnect ¶ added in v1.7.0
type ZeroClientConnect interface { structs.ZeroMetaDef Connect() RemoteAddr() string HeartbeatCheck(int64) bool Active() bool Heartbeat() Close() error Write([]byte) error OnMessage([]byte) error AddChecker(ZeroDataChecker) CheckPackageData([]byte) [][]byte AddListener(ZeroClientListener) }
type ZeroClientListener ¶ added in v1.7.0
type ZeroClientListener interface { OnConnect(ZeroClientConnect) error OnHeartbeat(ZeroClientConnect) error }
type ZeroConnect ¶ added in v1.3.0
type ZeroConnect interface { structs.ZeroMetaDef AcceptTime() int64 HeartbeatTime() int64 Accept(ZeroServ, net.Conn) error RegisterId() string ConnectId() string RemoteAddr() string HeartbeatCheck(int64) bool Active() bool Heartbeat() Close() error Write([]byte) error Node() *list.Element Clock() *ring.Ring FlushNode(*list.Element) FlushClock(*ring.Ring) Authorized(authMessage ...byte) bool OnMessage(datas []byte) error AddChecker(ZeroDataChecker) CheckPackageData(data []byte) [][]byte }
type ZeroConnectBuilder ¶ added in v1.3.0
type ZeroConnectBuilder interface {
NewConnect() ZeroConnect
}
type ZeroDataChecker ¶ added in v1.3.0
type ZeroServ ¶ added in v1.3.0
type ZeroServ interface { OnConnect(ZeroConnect) error OnDisconnect(ZeroConnect) error OnAuthorized(ZeroConnect) error OnHeartbeat(ZeroConnect) error UseConnect(string) (ZeroConnect, error) }
type ZeroServerWatcher ¶ added in v1.23.0
type ZeroServerWatcher interface { WatcherName() string OnConnect(ZeroConnect) error OnAuthorized(ZeroConnect) error OnDisconnect(ZeroConnect) error OnHeartbeat(ZeroConnect) error OnMessage(ZeroConnect, []byte) error }
type ZeroSocketConnect ¶ added in v1.3.0
func (*ZeroSocketConnect) Accept ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Accept(zserv ZeroServ, connect net.Conn) error
func (*ZeroSocketConnect) AcceptTime ¶ added in v1.10.5
func (zSock *ZeroSocketConnect) AcceptTime() int64
func (*ZeroSocketConnect) Active ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Active() bool
func (*ZeroSocketConnect) AddChecker ¶ added in v1.5.1
func (zSock *ZeroSocketConnect) AddChecker(checker ZeroDataChecker)
func (*ZeroSocketConnect) Authorized ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Authorized(authMessage ...byte) bool
func (*ZeroSocketConnect) CheckPackageData ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) CheckPackageData(data []byte) [][]byte
func (*ZeroSocketConnect) Clock ¶ added in v1.18.1
func (zSock *ZeroSocketConnect) Clock() *ring.Ring
func (*ZeroSocketConnect) Close ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Close() error
func (*ZeroSocketConnect) ConnectId ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) ConnectId() string
func (*ZeroSocketConnect) FlushClock ¶ added in v1.18.1
func (zSock *ZeroSocketConnect) FlushClock(clock *ring.Ring)
func (*ZeroSocketConnect) FlushNode ¶ added in v1.18.1
func (zSock *ZeroSocketConnect) FlushNode(node *list.Element)
func (*ZeroSocketConnect) Heartbeat ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Heartbeat()
func (*ZeroSocketConnect) HeartbeatCheck ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) HeartbeatCheck(heartbeatSeconds int64) bool
func (*ZeroSocketConnect) HeartbeatTime ¶ added in v1.10.5
func (zSock *ZeroSocketConnect) HeartbeatTime() int64
func (*ZeroSocketConnect) Node ¶ added in v1.18.1
func (zSock *ZeroSocketConnect) Node() *list.Element
func (*ZeroSocketConnect) OnMessage ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) OnMessage(datas []byte) error
func (*ZeroSocketConnect) RegisterId ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) RegisterId() string
func (*ZeroSocketConnect) RemoteAddr ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) RemoteAddr() string
func (*ZeroSocketConnect) This ¶ added in v1.4.2
func (zSock *ZeroSocketConnect) This() interface{}
func (*ZeroSocketConnect) Write ¶ added in v1.3.0
func (zSock *ZeroSocketConnect) Write(datas []byte) error
type ZeroSocketServer ¶ added in v1.3.0
type ZeroSocketServer struct { ConnectBuilder ZeroConnectBuilder // contains filtered or unexported fields }
func (*ZeroSocketServer) AddWatchers ¶ added in v1.23.0
func (sockServer *ZeroSocketServer) AddWatchers(watchers ...ZeroServerWatcher)
func (*ZeroSocketServer) OnAuthorized ¶ added in v1.3.0
func (sockServer *ZeroSocketServer) OnAuthorized(conn ZeroConnect) error
func (*ZeroSocketServer) OnConnect ¶ added in v1.3.0
func (sockServer *ZeroSocketServer) OnConnect(conn ZeroConnect) error
func (*ZeroSocketServer) OnDisconnect ¶ added in v1.3.0
func (sockServer *ZeroSocketServer) OnDisconnect(conn ZeroConnect) error
func (*ZeroSocketServer) OnHeartbeat ¶ added in v1.18.1
func (sockServer *ZeroSocketServer) OnHeartbeat(conn ZeroConnect) error
func (*ZeroSocketServer) RunServer ¶ added in v1.3.0
func (sockServer *ZeroSocketServer) RunServer()
func (*ZeroSocketServer) UseConnect ¶ added in v1.3.3
func (sockServer *ZeroSocketServer) UseConnect(registerId string) (ZeroConnect, error)
Click to show internal directories.
Click to hide internal directories.