Documentation ¶
Index ¶
- Variables
- func BaseCacheDBInit()
- func Exe(w http.ResponseWriter, r *http.Request)
- func GroupExe(w http.ResponseWriter, r *http.Request)
- func IndexPage(w http.ResponseWriter, r *http.Request)
- func OwlResponseToWSCGroupCache(text string, owlresponse OwlResponse)
- func ResStatusToString(resstatus ResStatus) string
- func Server(w http.ResponseWriter, r *http.Request)
- func UCExe(w http.ResponseWriter, r *http.Request)
- func WSCGroupCacheBurnAfterReading(key string) ([]byte, bool)
- func WebSocketClientConnToServer(address string)
- func WebsocketExe(w http.ResponseWriter, r *http.Request, connstr string, messageType int, ...)
- type CommandType
- type OwlHandler
- func (owlhandler *OwlHandler) CheckAuth(r *http.Request) bool
- func (owlhandler *OwlHandler) Delete()
- func (owlhandler *OwlHandler) Exists()
- func (owlhandler *OwlHandler) Expire()
- func (owlhandler *OwlHandler) GeUrlCacheData(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
- func (owlhandler *OwlHandler) Get()
- func (owlhandler *OwlHandler) GetGroupData(w http.ResponseWriter, r *http.Request)
- func (owlhandler *OwlHandler) GetWCGroupData(w http.ResponseWriter, r *http.Request)
- func (owlhandler *OwlHandler) HTTPGroupDataHandle(w http.ResponseWriter, r *http.Request)
- func (owlhandler *OwlHandler) HTTPHandle(w http.ResponseWriter, r *http.Request)
- func (owlhandler *OwlHandler) Pass(r *http.Request)
- func (owlhandler *OwlHandler) Ping()
- func (owlhandler *OwlHandler) Set()
- func (owlhandler *OwlHandler) TCPHandle()
- func (owlhandler *OwlHandler) ToGroupHttp(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
- func (owlhandler *OwlHandler) ToHttp(w http.ResponseWriter) (http.ResponseWriter, []byte)
- func (owlhandler *OwlHandler) ToTcp() []byte
- func (owlhandler *OwlHandler) ToWebsocket() []byte
- func (owlhandler *OwlHandler) Transmit(resstatus ResStatus)
- func (owlhandler *OwlHandler) UCDataHandle(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
- func (owlhandler *OwlHandler) WebsocketHandle(w http.ResponseWriter, r *http.Request)
- type OwlRequest
- func (req *OwlRequest) HTTPReceive(w http.ResponseWriter, r *http.Request)
- func (req *OwlRequest) Slicetostring(slice []string) string
- func (req *OwlRequest) String() string
- func (req *OwlRequest) TCPReceive(connstr string)
- func (req *OwlRequest) TrimSpace(str string) string
- func (req *OwlRequest) WebsocketReceive(w http.ResponseWriter, r *http.Request, connstr string)
- type OwlResponse
- type OwlServerGroupHandler
- func (owlservergrouphandler *OwlServerGroupHandler) CheckAuth(r *http.Request) bool
- func (owlservergrouphandler *OwlServerGroupHandler) Gadd()
- func (owlservergrouphandler *OwlServerGroupHandler) Gdelete()
- func (owlservergrouphandler *OwlServerGroupHandler) Gfind(address string) (int32, bool)
- func (owlservergrouphandler *OwlServerGroupHandler) Gget()
- func (owlservergrouphandler *OwlServerGroupHandler) GgetAll()
- func (owlservergrouphandler *OwlServerGroupHandler) HTTPServerGroupHandle(w http.ResponseWriter, r *http.Request)
- func (owlservergrouphandler *OwlServerGroupHandler) HTTPServerHandle(w http.ResponseWriter, r *http.Request)
- func (owlservergrouphandler *OwlServerGroupHandler) HttpGroupGetKeyInfoToString(w http.ResponseWriter) (http.ResponseWriter, []byte)
- func (owlservergrouphandler *OwlServerGroupHandler) Oadd()
- func (owlservergrouphandler *OwlServerGroupHandler) Odelete()
- func (owlservergrouphandler *OwlServerGroupHandler) Ofind(address string) (int32, bool)
- func (owlservergrouphandler *OwlServerGroupHandler) Oget()
- func (owlservergrouphandler *OwlServerGroupHandler) OgetAll()
- func (owlservergrouphandler *OwlServerGroupHandler) Transmit(resstatus group.ResStatus)
- type ResStatus
- type ServerEntity
- type WSCContent
- type WssConn
Constants ¶
This section is empty.
Variables ¶
var ( ErrorKeyNotFound = errors.New("Not found key in cache") ErrorKeyNotExist = errors.New("Key does not exist") ErrorOpenHttpsSelected = errors.New("Configuration file Open_Https filled in error") ErrorCloseTcp = errors.New("Configuration file CloseTcp filled in error") ErrorGroupDataSync = errors.New("Configuration file GroupDataSync filled in error") ErrorCors = errors.New("Configuration file Cors filled in error") ErrorUCMaxStorageLimitOver = errors.New("The urlcache request succee, but the response data exceed the maximum value of the <max_storage_limit> configuration parameter.") ErrorGossipGetUrlData = errors.New("Gossip get url data error.") )
var BaseAuth *cache.BaseCache
创建一个全局的身份认证缓存
var BaseCacheDB *cache.BaseCache
创建一个全局的缓存DB
var BaseHttpGroupCache *cache.BaseCache
创建一个全局的HttpGroup缓存(用来缓解短时高并发HttpClient请求次数,提高访问效率)
var BaseWSCGroupCache *cache.BaseCache
创建一个全局的WebSocketClient返回数据临时存储数据库
var MemcacheClientRequestErrorCounter *counter.Counter
创建一个全局的MemcacheClient错误请求控制计数器
var RedisClientRequestErrorCounter *counter.Counter
创建一个全局的RedisClient错误请求控制计数器
var ServerGroupGossipList *group.Servergroup
创建一个全局的Gossip服务的集群信息存储列表
var ServerGroupList *group.Servergroup
创建一个全局的服务器集群信息存储列表
var WSClist *websocketclient.WSCList
存储存活状态的websocketclient列表
Functions ¶
func BaseCacheDBInit ¶
func BaseCacheDBInit()
func OwlResponseToWSCGroupCache ¶
func OwlResponseToWSCGroupCache(text string, owlresponse OwlResponse)
将服务端发送给客户端的数据放进临时存储数据库BaseWSCGroupCache
func WSCGroupCacheBurnAfterReading ¶
BaseWSCGroupCache的数据阅后即焚
func WebsocketExe ¶
func WebsocketExe(w http.ResponseWriter, r *http.Request, connstr string, messageType int, client WssConn)
Websocket数据执行信息
Types ¶
type CommandType ¶
type CommandType string
request command type
const ( GET CommandType = "get" EXIST CommandType = "exist" SET CommandType = "set" EXPIRE CommandType = "expire" DELETE CommandType = "delete" PASS CommandType = "pass" PING CommandType = "ping" )
type OwlHandler ¶
type OwlHandler struct {
// contains filtered or unexported fields
}
一个请求只产生一个 OwlHandler
func NewOwlHandler ¶
func NewOwlHandler() *OwlHandler
func (*OwlHandler) Delete ¶
func (owlhandler *OwlHandler) Delete()
func (*OwlHandler) Exists ¶
func (owlhandler *OwlHandler) Exists()
func (*OwlHandler) Expire ¶
func (owlhandler *OwlHandler) Expire()
func (*OwlHandler) GeUrlCacheData ¶
func (owlhandler *OwlHandler) GeUrlCacheData(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
发起请求获取URL数据并进行缓存处理
func (*OwlHandler) Get ¶
func (owlhandler *OwlHandler) Get()
func (*OwlHandler) GetGroupData ¶
func (owlhandler *OwlHandler) GetGroupData(w http.ResponseWriter, r *http.Request)
发起请求获取集合数据
func (*OwlHandler) GetWCGroupData ¶
func (owlhandler *OwlHandler) GetWCGroupData(w http.ResponseWriter, r *http.Request)
发起请求获取集合数据
func (*OwlHandler) HTTPGroupDataHandle ¶
func (owlhandler *OwlHandler) HTTPGroupDataHandle(w http.ResponseWriter, r *http.Request)
http群组执行数据操作
func (*OwlHandler) HTTPHandle ¶
func (owlhandler *OwlHandler) HTTPHandle(w http.ResponseWriter, r *http.Request)
http单机执行数据操作
func (*OwlHandler) Set ¶
func (owlhandler *OwlHandler) Set()
func (*OwlHandler) ToGroupHttp ¶
func (owlhandler *OwlHandler) ToGroupHttp(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
将数据转换成json(集群)
func (*OwlHandler) ToHttp ¶
func (owlhandler *OwlHandler) ToHttp(w http.ResponseWriter) (http.ResponseWriter, []byte)
将数据转换成json(单节点)
func (*OwlHandler) ToWebsocket ¶
func (owlhandler *OwlHandler) ToWebsocket() []byte
Websocket服务将数据进行转换输出
func (*OwlHandler) Transmit ¶
func (owlhandler *OwlHandler) Transmit(resstatus ResStatus)
解析response
func (*OwlHandler) UCDataHandle ¶
func (owlhandler *OwlHandler) UCDataHandle(w http.ResponseWriter, r *http.Request) (http.ResponseWriter, []byte)
UrlCache数据执行信息
func (*OwlHandler) WebsocketHandle ¶
func (owlhandler *OwlHandler) WebsocketHandle(w http.ResponseWriter, r *http.Request)
Websocket数据执行操作
type OwlRequest ¶
type OwlRequest struct { //请求命令 Cmd CommandType //key Key string //请求内容 Value []byte //请求内容长度 Length int //过期时间 Expires time.Duration //int64 //链接密码 Pass string //token Token string }
func (*OwlRequest) HTTPReceive ¶
func (req *OwlRequest) HTTPReceive(w http.ResponseWriter, r *http.Request)
将http请求内容 解析为一个OwlRequest对象
func (*OwlRequest) Slicetostring ¶
func (req *OwlRequest) Slicetostring(slice []string) string
将字符串切片转换成字符串
func (*OwlRequest) TCPReceive ¶
func (req *OwlRequest) TCPReceive(connstr string)
将socket请求内容 解析为一个OwlRequest对象
func (*OwlRequest) WebsocketReceive ¶
func (req *OwlRequest) WebsocketReceive(w http.ResponseWriter, r *http.Request, connstr string)
将Websocket请求内容 解析为一个OwlRequest对象
type OwlResponse ¶
type OwlResponse struct { //请求命令 Cmd CommandType //返回状态 Status ResStatus //返回结果 Results string //key Key string //返回内容 Data []byte //程序响应IP ResponseHost string //内容的创建时间 KeyCreateTime time.Time }
func JsonStrToOwlResponse ¶
func JsonStrToOwlResponse(json_string string) OwlResponse
函数:将服务之间返回的字符串转换回结构体
type OwlServerGroupHandler ¶
type OwlServerGroupHandler struct {
// contains filtered or unexported fields
}
一个请求只产生一个 OwlServerGroupHandler
func NewOwlServerGroupHandler ¶
func NewOwlServerGroupHandler() *OwlServerGroupHandler
func (*OwlServerGroupHandler) CheckAuth ¶
func (owlservergrouphandler *OwlServerGroupHandler) CheckAuth(r *http.Request) bool
验证权限
func (*OwlServerGroupHandler) Gadd ¶
func (owlservergrouphandler *OwlServerGroupHandler) Gadd()
添加一个服务器信息,gossip配置
func (*OwlServerGroupHandler) Gdelete ¶
func (owlservergrouphandler *OwlServerGroupHandler) Gdelete()
删除一个服务器信息,gossip配置
func (*OwlServerGroupHandler) Gfind ¶
func (owlservergrouphandler *OwlServerGroupHandler) Gfind(address string) (int32, bool)
内部查找一个服务器信息,gossip配置
func (*OwlServerGroupHandler) Gget ¶
func (owlservergrouphandler *OwlServerGroupHandler) Gget()
获取一个服务器信息,gossip配置
func (*OwlServerGroupHandler) GgetAll ¶
func (owlservergrouphandler *OwlServerGroupHandler) GgetAll()
获取所有服务器列表信息,gossip配置
func (*OwlServerGroupHandler) HTTPServerGroupHandle ¶
func (owlservergrouphandler *OwlServerGroupHandler) HTTPServerGroupHandle(w http.ResponseWriter, r *http.Request)
http服务器组执行数据操作,集群
func (*OwlServerGroupHandler) HTTPServerHandle ¶
func (owlservergrouphandler *OwlServerGroupHandler) HTTPServerHandle(w http.ResponseWriter, r *http.Request)
http服务器组执行数据操作
func (*OwlServerGroupHandler) HttpGroupGetKeyInfoToString ¶
func (owlservergrouphandler *OwlServerGroupHandler) HttpGroupGetKeyInfoToString(w http.ResponseWriter) (http.ResponseWriter, []byte)
将数据转换成json
func (*OwlServerGroupHandler) Oadd ¶
func (owlservergrouphandler *OwlServerGroupHandler) Oadd()
添加一个服务器信息
func (*OwlServerGroupHandler) Odelete ¶
func (owlservergrouphandler *OwlServerGroupHandler) Odelete()
删除一个服务器信息
func (*OwlServerGroupHandler) Ofind ¶
func (owlservergrouphandler *OwlServerGroupHandler) Ofind(address string) (int32, bool)
内部查找一个服务器信息
func (*OwlServerGroupHandler) Oget ¶
func (owlservergrouphandler *OwlServerGroupHandler) Oget()
获取一个服务器信息
func (*OwlServerGroupHandler) OgetAll ¶
func (owlservergrouphandler *OwlServerGroupHandler) OgetAll()
获取所有服务器列表信息
func (*OwlServerGroupHandler) Transmit ¶
func (owlservergrouphandler *OwlServerGroupHandler) Transmit(resstatus group.ResStatus)
解析response
type ServerEntity ¶
type ServerEntity struct {
// contains filtered or unexported fields
}
func (*ServerEntity) ServeHTTP ¶
func (se *ServerEntity) ServeHTTP(w http.ResponseWriter, r *http.Request)
type WSCContent ¶
type WSCContent struct { Uuid string Key string Handshake_string string Content OwlResponse }
创建一个客户端传输模型
Source Files ¶
- handler_errors.go
- handler_execute.go
- handler_gossip.go
- handler_group_httpclient.go
- handler_group_info.go
- handler_group_websocketclient.go
- handler_group_websocketclient_content.go
- handler_main.go
- handler_params.go
- handler_request.go
- handler_response.go
- handler_uc.go
- server_gossip.go
- server_http.go
- server_http_middleware.go
- server_http_websocket.go
- server_main.go
- server_tcp.go