network

package
v0.0.0-...-f7d1039 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.")
)
View Source
var BaseAuth *cache.BaseCache

创建一个全局的身份认证缓存

View Source
var BaseCacheDB *cache.BaseCache

创建一个全局的缓存DB

View Source
var BaseHttpGroupCache *cache.BaseCache

创建一个全局的HttpGroup缓存(用来缓解短时高并发HttpClient请求次数,提高访问效率)

View Source
var BaseWSCGroupCache *cache.BaseCache

创建一个全局的WebSocketClient返回数据临时存储数据库

View Source
var MemcacheClientRequestErrorCounter *counter.Counter

创建一个全局的MemcacheClient错误请求控制计数器

View Source
var RedisClientRequestErrorCounter *counter.Counter

创建一个全局的RedisClient错误请求控制计数器

View Source
var ServerGroupGossipList *group.Servergroup

创建一个全局的Gossip服务的集群信息存储列表

View Source
var ServerGroupList *group.Servergroup

创建一个全局的服务器集群信息存储列表

存储存活状态的websocketclient列表

Functions

func BaseCacheDBInit

func BaseCacheDBInit()

func Exe

func Exe(w http.ResponseWriter, r *http.Request)

单机数据执行信息

func GroupExe

func GroupExe(w http.ResponseWriter, r *http.Request)

群组数据执行信息

func IndexPage

func IndexPage(w http.ResponseWriter, r *http.Request)

首页

func OwlResponseToWSCGroupCache

func OwlResponseToWSCGroupCache(text string, owlresponse OwlResponse)

将服务端发送给客户端的数据放进临时存储数据库BaseWSCGroupCache

func ResStatusToString

func ResStatusToString(resstatus ResStatus) string

status to string

func Server

func Server(w http.ResponseWriter, r *http.Request)

设置服务器集群信息,默认集群与gossip

func UCExe

func UCExe(w http.ResponseWriter, r *http.Request)

UrlCache数据执行信息

func WSCGroupCacheBurnAfterReading

func WSCGroupCacheBurnAfterReading(key string) ([]byte, bool)

BaseWSCGroupCache的数据阅后即焚

func WebSocketClientConnToServer

func WebSocketClientConnToServer(address string)

客户端连接到ws服务

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) CheckAuth

func (owlhandler *OwlHandler) CheckAuth(r *http.Request) bool

验证权限

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) Pass

func (owlhandler *OwlHandler) Pass(r *http.Request)

PASS命令验证密码

func (*OwlHandler) Ping

func (owlhandler *OwlHandler) Ping()

Ping 命令

func (*OwlHandler) Set

func (owlhandler *OwlHandler) Set()

func (*OwlHandler) TCPHandle

func (owlhandler *OwlHandler) TCPHandle()

TCP执行数据操作

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) ToTcp

func (owlhandler *OwlHandler) ToTcp() []byte

TCP服务将数据进行转换输出

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) String

func (req *OwlRequest) String() string

request to string

func (*OwlRequest) TCPReceive

func (req *OwlRequest) TCPReceive(connstr string)

将socket请求内容 解析为一个OwlRequest对象

func (*OwlRequest) TrimSpace

func (req *OwlRequest) TrimSpace(str string) string

过滤接收数据中的\r\n

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 ResStatus

type ResStatus int

response status type

const (
	SUCCESS         ResStatus = 200
	ERROR           ResStatus = 500
	NOT_FOUND       ResStatus = 404
	UNKNOWN_COMMAND ResStatus = 501
	NOT_PASS        ResStatus = 401
)

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
}

创建一个客户端传输模型

func NewWSCContent

func NewWSCContent(key, address string) WSCContent

函数:创建WSCContent实体

type WssConn

type WssConn struct {
	Conn *websocket.Conn
	Mux  sync.RWMutex
}

定义一个控制服务端并发的安全ws链接模型

func NewWssConn

func NewWssConn(conn *websocket.Conn) WssConn

创建一个控制服务端并发的安全ws链接模型

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL