Documentation ¶
Index ¶
- Constants
- Variables
- func AddAppConfig(filename string) (config string, err error)
- func AddConfig(filename string) (config string, err error)
- func AddHttpServant(mux *KsfHttpMux, obj string)
- func AddHttpServantWithExceptionStatusChecker(mux *KsfHttpMux, obj string, exceptionStatusChecker func(int) bool)
- func AddServant(v dispatch, f interface{}, obj string)
- func AddServantWithContext(v dispatch, f interface{}, obj string)
- func AddServantWithProtocol(proto transport.ServerProtocol, obj string)
- func CancelListen()
- func CheckPanic()
- func DefaultExceptionStatusChecker(statusCode int) bool
- func EnableManualListen()
- func GetClientConfig() *clientConfig
- func GetConf() *conf.Conf
- func GetConfigList() (fList []string, err error)
- func GetDayLogger(name string, numDay int) *rogger.Logger
- func GetErrorCode(err error) int32
- func GetHourLogger(name string, numHour int) *rogger.Logger
- func GetLogger(name string) *rogger.Logger
- func GetRemoteLogger(name string) *rogger.Logger
- func GetServerConfig() *serverConfig
- func Hash(str string) uint32
- func HashNew(str string) uint32
- func HashString(str string) uint32
- func Init()
- func MagicStringHash(str string) uint32
- func ManualListen()
- func RegisterAdmin(name string, fn adminFn)
- func RegisterClientFilter(f ClientFilter)
- func RegisterDispatchReporter(f DispatchReporter)
- func RegisterPostClientFilter(f ClientFilter)
- func RegisterPostServerFilter(f ServerFilter)
- func RegisterPreClientFilter(f ClientFilter)
- func RegisterPreServerFilter(f ServerFilter)
- func RegisterServerFilter(f ServerFilter)
- func ReportAvg(key string, i int)
- func ReportCount(key string, i int)
- func ReportDistr(key string, in []int, i int)
- func ReportMax(key string, i int)
- func ReportMin(key string, i int)
- func ReportNotifyInfo(level int32, info string)
- func ReportStatBase(head *statf.StatMicMsgHead, body *statf.StatMicMsgBody, FromServer bool)
- func ReportStatFromClient(msg *Message, succ int32, timeout int32, exec int32)
- func ReportStatFromServer(InterfaceName, MasterName string, ReturnValue int32, TotalRspTime int64)
- func ReportSum(key string, i int)
- func Run()
- func Trace(traceKey, annotation, client, server, funcName string, ret int, ...)
- func UseClientFilterMiddleware(cfm ...ClientFilterMiddleware)
- func UseServerFilterMiddleware(sfm ...ServerFilterMiddleware)
- type AdapterProxy
- func (c *AdapterProxy) Close()
- func (c *AdapterProxy) GetPoint() *endpointf.EndpointF
- func (c *AdapterProxy) KsfPing()
- func (c *AdapterProxy) OnClose(address string)
- func (c *AdapterProxy) OnConnect(address string)
- func (c *AdapterProxy) ParsePackage(buff []byte) (int, int)
- func (c *AdapterProxy) ReConnect()
- func (c *AdapterProxy) Recv(pkg []byte)
- func (c *AdapterProxy) Send(req *requestf.RequestPacket) error
- type Admin
- type AppCache
- type Avg
- type ClientFilter
- type ClientFilterMiddleware
- type Communicator
- func (c *Communicator) GetLocator() string
- func (c *Communicator) GetProperty(key string) (string, bool)
- func (c *Communicator) GetPropertyBool(key string) (bool, bool)
- func (c *Communicator) GetPropertyInt(key string) (int, bool)
- func (c *Communicator) SetLocator(obj string)
- func (c *Communicator) SetProperty(key string, value interface{})
- func (c *Communicator) SetTraceParam(name string)
- func (c *Communicator) StringToProxy(servant string, p ProxyPrx, opts ...EndpointManagerOption)
- type Count
- type Dispatch
- type DispatchReporter
- type Distr
- type EndpointManager
- type EndpointManagerOption
- type Error
- type HashType
- type HttpHandler
- type Invoke
- type KsfHttpConf
- type KsfHttpMux
- type KsfResponseWriter
- type Max
- type Message
- type Min
- type NodeFHelper
- type NotifyHelper
- type ObjCache
- type OptionFunc
- type PropertyReport
- type PropertyReportHelper
- type Protocol
- type ProxyPrx
- type RConf
- type RemoteTimeWriter
- func (rw *RemoteTimeWriter) EnablePrefix(hasAppNamePrefix bool)
- func (rw *RemoteTimeWriter) EnableSquareWrapper(hasSquareBracket bool)
- func (rw *RemoteTimeWriter) EnableSuffix(hasSufix bool)
- func (rw *RemoteTimeWriter) InitFormat(s string)
- func (rw *RemoteTimeWriter) InitServerInfo(app string, server string, filename string, setdivision string)
- func (rw *RemoteTimeWriter) NeedPrefix() bool
- func (rw *RemoteTimeWriter) SetFileNameConcatStr(s string)
- func (rw *RemoteTimeWriter) SetLogType(logType string)
- func (rw *RemoteTimeWriter) SetPrefix(enable bool)
- func (rw *RemoteTimeWriter) SetSeparator(s string)
- func (rw *RemoteTimeWriter) Sync2remote()
- func (rw *RemoteTimeWriter) Write(b []byte)
- type ReportMethod
- type ReportPolicy
- type ServantProxy
- func (s *ServantProxy) KsfInvoke(ctx context.Context, cType byte, sFuncName string, buf []byte, ...) error
- func (s *ServantProxy) KsfPing(ctx context.Context)
- func (s *ServantProxy) KsfProxy(ctx context.Context, req requestf.RequestPacket, status map[string]string, ...) error
- func (s *ServantProxy) KsfSetProtocol(proto model.Protocol)
- func (s *ServantProxy) KsfSetTimeout(t int)
- func (s *ServantProxy) KsfSetVersion(iVersion int16)
- func (s *ServantProxy) Name() string
- func (s *ServantProxy) SetKsfCallback(ksfCallback model.Ondispatch)
- func (s *ServantProxy) SetOnCloseCallback(callback func(string))
- func (s *ServantProxy) SetOnConnectCallback(callback func(string))
- func (s *ServantProxy) SetPushCallback(callback func([]byte))
- type ServerConfOption
- type ServerFilter
- type ServerFilterMiddleware
- type StatFHelper
- type StatInfo
- type Sum
Constants ¶
const ( NotifyNormal = 0 NotifyWarn = 1 NotifyError = 2 )
const ( StatSuccess = iota StatFailed )
const ( // Version is ksf version Version string = "1.3.16" // AcceptTimeout accept timeout,default value is 500 milliseconds AcceptTimeout = 500 // ReadTimeout zero millisecond for not set read deadline for Conn (better performance) ReadTimeout = 0 // WriteTimeout zero millisecond for not set write deadline for Conn (better performance) WriteTimeout = 0 // HandleTimeout zero millisecond for not set deadline for invoke user interface (better performance) HandleTimeout = 0 // IdleTimeout idle timeout,default value is 600000 milliseconds IdleTimeout = 600000 // ZombieTimeout zombie timeout,default value is 10000 milliseconds ZombieTimeout = 10000 // QueueCap queue gap QueueCap int = 10000000 // Stat default value Stat = "ksf.ksfstat.StatObj" // Property default value Property = "ksf.ksfproperty.PropertyObj" // ModuleName default value ModuleName = "kup_client" // ClientQueueLen client queue length ClientQueueLen int = 10000 // ClientIdleTimeout client idle timeout,default value is 600000 milliseconds ClientIdleTimeout = 600000 // ClientReadTimeout client read timeout,default value is 100 milliseconds ClientReadTimeout = 100 // ClientWriteTimeout client write timeout,default value is 3000 milliseconds ClientWriteTimeout = 3000 // ReqDefaultTimeout request default timeout ReqDefaultTimeout int32 = 3000 // ClientDialTimeout connection dial timeout ClientDialTimeout = 3000 // ObjQueueMax servantProxy queue max number ObjQueueMax int32 = 100000 // PropertyReportInterval property report interval,default value is 10000 milliseconds PropertyReportInterval = 10000 // StatReportInterval stat report interval,default value is 10000 milliseconds StatReportInterval = 10000 // StatReportChannelBufLen stat report channel len StatReportChannelBufLen = 100000 // MainLoopTicker main loop ticker,default value is 10000 milliseconds MainLoopTicker = 10000 // AsyncInvokeTimeout async invoke timeout AsyncInvokeTimeout int = 3000 // TCPReadBuffer tcp read buffer length TCPReadBuffer = 128 * 1024 * 1024 // TCPWriteBuffer tcp write buffer length TCPWriteBuffer = 128 * 1024 * 1024 // TCPNoDelay set tcp no delay TCPNoDelay = false // GracedownTimeout set timeout (milliseconds) for grace shutdown GracedownTimeout = 60000 // MaxPackageLength maximum length of the request MaxPackageLength = 10485760 )
Variables ¶
var MaxInvoke int32
MaxInvoke number of worker routine to handle client request zero means no control, just one goroutine for a client request. runtime.NumCPU() usually the best performance in the benchmark.
var ( // ReportStat set the default stater(default is `ReportStatFromClient`). ReportStat reportStatFunc = ReportStatFromClient )
var ServerConfigPath string
ServerConfigPath is the path of server config
TLOG is the logger for ksf framework.
Functions ¶
func AddAppConfig ¶
AddAppConfig add app level config
func AddConfig ¶
AddConfig add server level config
func AddHttpServant ¶
func AddHttpServant(mux *KsfHttpMux, obj string)
AddHttpServant add http servant handler with default exceptionStatusChecker for servantProxy.
func AddHttpServantWithExceptionStatusChecker ¶
func AddHttpServantWithExceptionStatusChecker(mux *KsfHttpMux, obj string, exceptionStatusChecker func(int) bool)
AddHttpServantWithExceptionStatusChecker add http servant handler with exceptionStatusChecker for servantProxy.
func AddServant ¶
func AddServant(v dispatch, f interface{}, obj string)
AddServant add dispatch and interface for object.
func AddServantWithContext ¶
func AddServantWithContext(v dispatch, f interface{}, obj string)
AddServantWithContext add dispatch and interface for object, which have ctx,context
func AddServantWithProtocol ¶
func AddServantWithProtocol(proto transport.ServerProtocol, obj string)
AddServantWithProtocol adds a servant with protocol and servantProxy
func DefaultExceptionStatusChecker ¶
DefaultExceptionStatusChecker Default Exception Status Checker
func GetConfigList ¶
GetConfigList get server level config list
func GetDayLogger ¶
GetDayLogger Get a logger roll by day
func GetHourLogger ¶
GetHourLogger Get a logger roll by hour
func GetRemoteLogger ¶
GetRemoteLogger returns a remote logger
func Init ¶
func Init()
Init need to be called first in some situation: like GetServerConfig() and GetClientConfig()
func RegisterAdmin ¶
func RegisterAdmin(name string, fn adminFn)
RegisterAdmin register admin functions
func RegisterClientFilter ¶
func RegisterClientFilter(f ClientFilter)
RegisterClientFilter registers the Client filter , and will be executed in every request.
func RegisterDispatchReporter ¶
func RegisterDispatchReporter(f DispatchReporter)
RegisterDispatchReporter registers the server dispatch reporter
func RegisterPostClientFilter ¶
func RegisterPostClientFilter(f ClientFilter)
RegisterPostClientFilter registers the client filter, and will be executed in order after every request
func RegisterPostServerFilter ¶
func RegisterPostServerFilter(f ServerFilter)
RegisterPostServerFilter registers the server filter, executed in order after every request
func RegisterPreClientFilter ¶
func RegisterPreClientFilter(f ClientFilter)
RegisterPreClientFilter registers the client filter, and will be executed in order before every request
func RegisterPreServerFilter ¶
func RegisterPreServerFilter(f ServerFilter)
RegisterPreServerFilter registers the server filter, executed in order before every request
func RegisterServerFilter ¶
func RegisterServerFilter(f ServerFilter)
RegisterServerFilter register the server filter.
func ReportNotifyInfo ¶
ReportNotifyInfo reports notify information with level and info
func ReportStatBase ¶
func ReportStatBase(head *statf.StatMicMsgHead, body *statf.StatMicMsgBody, FromServer bool)
ReportStatBase is base method for report statistics.
func ReportStatFromClient ¶
ReportStatFromClient report the statics from client.
func ReportStatFromServer ¶
ReportStatFromServer reports statics from server side.
func Trace ¶
func UseClientFilterMiddleware ¶
func UseClientFilterMiddleware(cfm ...ClientFilterMiddleware)
UseClientFilterMiddleware uses the client filter middleware.
func UseServerFilterMiddleware ¶
func UseServerFilterMiddleware(sfm ...ServerFilterMiddleware)
UseServerFilterMiddleware uses the server filter middleware.
Types ¶
type AdapterProxy ¶
type AdapterProxy struct {
// contains filtered or unexported fields
}
AdapterProxy : Adapter proxy
func NewAdapterProxy ¶
func NewAdapterProxy(objName string, point *endpointf.EndpointF, comm *Communicator) *AdapterProxy
NewAdapterProxy create an adapter proxy
func (*AdapterProxy) GetPoint ¶
func (c *AdapterProxy) GetPoint() *endpointf.EndpointF
GetPoint : Get an endpoint
func (*AdapterProxy) KsfPing ¶
func (c *AdapterProxy) KsfPing()
func (*AdapterProxy) OnClose ¶
func (c *AdapterProxy) OnClose(address string)
func (*AdapterProxy) OnConnect ¶
func (c *AdapterProxy) OnConnect(address string)
func (*AdapterProxy) ParsePackage ¶
func (c *AdapterProxy) ParsePackage(buff []byte) (int, int)
ParsePackage : Parse packet from bytes
func (*AdapterProxy) ReConnect ¶
func (c *AdapterProxy) ReConnect()
func (*AdapterProxy) Recv ¶
func (c *AdapterProxy) Recv(pkg []byte)
Recv : Recover read channel when closed for timeout Recv : Recover read channel when closed for timeout
func (*AdapterProxy) Send ¶
func (c *AdapterProxy) Send(req *requestf.RequestPacket) error
Send : Send packet
type Admin ¶
type Admin struct { }
Admin struct
func (*Admin) Notify ¶
Notify handler for cmds from admin
type AppCache ¶
type Avg ¶
type Avg struct {
// contains filtered or unexported fields
}
Avg for counting average for the report value.
type ClientFilter ¶
type ClientFilter func(ctx context.Context, msg *Message, invoke Invoke, timeout time.Duration) (err error)
ClientFilter is used for filter request & response for client, for implementing plugins like opentracing
type ClientFilterMiddleware ¶
type ClientFilterMiddleware func(next ClientFilter) ClientFilter
ClientFilterMiddleware is used for add multiple filter middleware for client, for using multiple filter such as breaker, rate limit and trace.
type Communicator ¶
type Communicator struct { Client *clientConfig // contains filtered or unexported fields }
Communicator struct
func GetCommunicator ¶
func GetCommunicator() *Communicator
GetCommunicator returns a default communicator
func NewCommunicator ¶
func NewCommunicator() *Communicator
NewCommunicator returns a new communicator. A Communicator is used for communicating with the server side which should only init once and be global!!!
func (*Communicator) GetLocator ¶
func (c *Communicator) GetLocator() string
GetLocator returns locator as string
func (*Communicator) GetProperty ¶
func (c *Communicator) GetProperty(key string) (string, bool)
GetProperty returns communicator property value as string and true for key, or empty string and false for not exists key
func (*Communicator) GetPropertyBool ¶
func (c *Communicator) GetPropertyBool(key string) (bool, bool)
GetPropertyBool returns communicator property value as bool and true for key, or false and false for not exists key
func (*Communicator) GetPropertyInt ¶
func (c *Communicator) GetPropertyInt(key string) (int, bool)
GetPropertyInt returns communicator property value as int and true for key, or 0 and false for not exists key
func (*Communicator) SetLocator ¶
func (c *Communicator) SetLocator(obj string)
SetLocator sets locator with servantProxy
func (*Communicator) SetProperty ¶
func (c *Communicator) SetProperty(key string, value interface{})
SetProperty sets communicator property with a string key and an interface value. var comm *ksf.Communicator comm = ksf.NewCommunicator() e.g. comm.SetProperty("locator", "ksf.ksfregistry.QueryObj@tcp -h ... -p ...")
func (*Communicator) SetTraceParam ¶
func (c *Communicator) SetTraceParam(name string)
func (*Communicator) StringToProxy ¶
func (c *Communicator) StringToProxy(servant string, p ProxyPrx, opts ...EndpointManagerOption)
StringToProxy sets the servant of ProxyPrx p with a string servant
type Count ¶
type Count struct {
// contains filtered or unexported fields
}
Count is for counting the total of reporting
func (*Count) Get ¶
Get gets the total times of the reporting values.
type Dispatch ¶
type Dispatch func(context.Context, interface{}, *requestf.RequestPacket, *requestf.ResponsePacket, bool) error
Dispatch server side Dispatch
type DispatchReporter ¶
type DispatchReporter func(ctx context.Context, req []interface{}, rsp []interface{}, returns []interface{})
DispatchReporter is the reporter in server-side dispatch, and will be used in logging
func GetDispatchReporter ¶
func GetDispatchReporter() DispatchReporter
GetDispatchReporter returns the dispatch reporter
type Distr ¶
type Distr struct {
// contains filtered or unexported fields
}
Distr is used for counting the distribution of the reporting values.
type EndpointManager ¶
type EndpointManager interface { SelectAdapterProxy(msg *Message) (*AdapterProxy, bool) GetAllEndpoint() []*endpoint.Endpoint // contains filtered or unexported methods }
EndpointManager interface of naming system
func GetManager ¶
func GetManager(comm *Communicator, objName string, opts ...EndpointManagerOption) EndpointManager
GetManager return a endpoint manager from global endpoint manager
type EndpointManagerOption ¶
type EndpointManagerOption interface {
// contains filtered or unexported methods
}
type Error ¶
Error is the type of rpc error with error code
func Errorf ¶
Errorf return the ksf.Error instance
type HttpHandler ¶
type HttpHandler interface { http.Handler SetConfig(cfg *KsfHttpConf) }
type Invoke ¶
Invoke is used for Invoke ksf server service
type KsfHttpConf ¶
type KsfHttpConf struct { Container string AppName string IP string Port int32 Version string SetId string ExceptionStatusChecker func(int) bool }
KsfHttpConf is configuration for ksf http server.
type KsfHttpMux ¶
KsfHttpMux is http.ServeMux for ksf http server.
func (*KsfHttpMux) GetGinEngine ¶
func (mux *KsfHttpMux) GetGinEngine() *gin.Engine
GetGinEngine sets the cfg tho the *gin.Engine.
func (*KsfHttpMux) ServeHTTP ¶
func (mux *KsfHttpMux) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP is the server for the KsfHttpMux.
func (*KsfHttpMux) SetConfig ¶
func (mux *KsfHttpMux) SetConfig(cfg *KsfHttpConf)
SetConfig sets the cfg tho the KsfHttpMux.
type KsfResponseWriter ¶
type KsfResponseWriter struct { http.ResponseWriter StatusCode int }
KsfResponseWriter is http.ResponseWriter for ksf.
func (*KsfResponseWriter) Hijack ¶
func (w *KsfResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
Hijack add Hijack method for KsfResponseWriter
func (*KsfResponseWriter) WriteHeader ¶
func (w *KsfResponseWriter) WriteHeader(code int)
WriteHeader is used for write the http header with the http code.
type Max ¶
type Max struct {
// contains filtered or unexported fields
}
Max struct is for counting the Max value for the reporting value.
type Message ¶
type Message struct { Req *requestf.RequestPacket Resp *requestf.ResponsePacket Ser *ServantProxy Adp *AdapterProxy BeginTime int64 EndTime int64 Status int32 // contains filtered or unexported fields }
Message is a struct contains servant information
type Min ¶
type Min struct {
// contains filtered or unexported fields
}
Min is the struct for counting the min value.
type NodeFHelper ¶
type NodeFHelper struct {
// contains filtered or unexported fields
}
NodeFHelper is helper struct.
func (*NodeFHelper) KeepAlive ¶
func (n *NodeFHelper) KeepAlive(adapter string)
KeepAlive sends the keepalive package to the node.
func (*NodeFHelper) ReportVersion ¶
func (n *NodeFHelper) ReportVersion(version string)
ReportVersion report the ksf version to the node.
func (*NodeFHelper) SetNodeInfo ¶
func (n *NodeFHelper) SetNodeInfo(comm *Communicator, node string, app string, server string, container string)
SetNodeInfo sets node information with communicator, node name, app name, server and container name
type NotifyHelper ¶
type NotifyHelper struct {
// contains filtered or unexported fields
}
NotifyHelper is the helper struct for the Notify service.
func (*NotifyHelper) ReportNotifyInfo ¶
func (n *NotifyHelper) ReportNotifyInfo(level int32, info string)
ReportNotifyInfo reports notify information with level and info
func (*NotifyHelper) SetNotifyInfo ¶
func (n *NotifyHelper) SetNotifyInfo(comm *Communicator, notify string, app string, server string, container string)
SetNotifyInfo sets the communicator's notify info with communicator, notify name, app name, server name, and container name
type ObjCache ¶
type OptionFunc ¶
type OptionFunc struct {
// contains filtered or unexported fields
}
func WithSet ¶
func WithSet(setDivision string) OptionFunc
type PropertyReport ¶
type PropertyReport struct {
// contains filtered or unexported fields
}
PropertyReport property report struct
func CreatePropertyReport ¶
func CreatePropertyReport(key string, argv ...ReportMethod) *PropertyReport
CreatePropertyReport creates the property report instance with the key.
func GetPropertyReport ¶
func GetPropertyReport(key string) *PropertyReport
GetPropertyReport gets the property report instance with the key.
type PropertyReportHelper ¶
type PropertyReportHelper struct {
// contains filtered or unexported fields
}
PropertyReportHelper is helper struct for property report.
var ProHelper *PropertyReportHelper
ProHelper is global PropertyReportHelper instance
func (*PropertyReportHelper) AddToReport ¶
func (p *PropertyReportHelper) AddToReport(pr *PropertyReport)
AddToReport adds the user's PropertyReport to the PropertyReportHelper
func (*PropertyReportHelper) Init ¶
func (p *PropertyReportHelper) Init(comm *Communicator, node string)
Init inits the PropertyReportHelper
func (*PropertyReportHelper) ReportToServer ¶
func (p *PropertyReportHelper) ReportToServer()
ReportToServer report to the remote propertyreport server.
func (*PropertyReportHelper) Run ¶
func (p *PropertyReportHelper) Run()
Run start the properting report goroutine.
type Protocol ¶
type Protocol struct {
// contains filtered or unexported fields
}
Protocol is struct for dispatch with ksf protocol.
func NewKsfProtocol ¶
NewKsfProtocol return a KsfProtocol with dispatcher and implement interface. withContext explain using context or not.
func (*Protocol) DoClose ¶
DoClose be called when close connection
func (*Protocol) GetCloseMsg ¶
GetCloseMsg return a package to close connection
func (*Protocol) Invoke ¶
Invoke puts the request as []byte and call the dispatcher, and then return the response as []byte.
func (*Protocol) InvokeTimeout ¶
InvokeTimeout indicates how to deal with timeout.
type RConf ¶
type RConf struct {
// contains filtered or unexported fields
}
RConf struct for getting remote config.
func NewRConf ¶
NewRConf init a RConf, path should be getting from GetServerConfig().BasePath
func (*RConf) GetAppConfig ¶
GetAppConfig gets the remote config and save it to the path, also return the content.
func (*RConf) GetConfig ¶
GetConfig gets the remote config and save it to the path, also return the content.
type RemoteTimeWriter ¶
type RemoteTimeWriter struct {
// contains filtered or unexported fields
}
RemoteTimeWriter writer for writing remote log.
func NewRemoteTimeWriter ¶
func NewRemoteTimeWriter() *RemoteTimeWriter
NewRemoteTimeWriter new and init RemoteTimeWriter
func (*RemoteTimeWriter) EnablePrefix ¶
func (rw *RemoteTimeWriter) EnablePrefix(hasAppNamePrefix bool)
EnablePrefix puts prefix before logs.
func (*RemoteTimeWriter) EnableSquareWrapper ¶
func (rw *RemoteTimeWriter) EnableSquareWrapper(hasSquareBracket bool)
EnableSquareWrapper enables SquareBracket wrapper for the logs.
func (*RemoteTimeWriter) EnableSuffix ¶
func (rw *RemoteTimeWriter) EnableSuffix(hasSufix bool)
EnableSuffix puts suffix after logs.
func (*RemoteTimeWriter) InitFormat ¶
func (rw *RemoteTimeWriter) InitFormat(s string)
InitFormat sets the log format.
func (*RemoteTimeWriter) InitServerInfo ¶
func (rw *RemoteTimeWriter) InitServerInfo(app string, server string, filename string, setdivision string)
InitServerInfo init the remote log server info.
func (*RemoteTimeWriter) NeedPrefix ¶
func (rw *RemoteTimeWriter) NeedPrefix() bool
NeedPrefix return if need prefix for the logger.
func (*RemoteTimeWriter) SetFileNameConcatStr ¶
func (rw *RemoteTimeWriter) SetFileNameConcatStr(s string)
SetFileNameConcatStr sets the filename concat string.
func (*RemoteTimeWriter) SetLogType ¶
func (rw *RemoteTimeWriter) SetLogType(logType string)
SetLogType sets the log type.
func (*RemoteTimeWriter) SetPrefix ¶
func (rw *RemoteTimeWriter) SetPrefix(enable bool)
SetPrefix set if need prefix for the logger.
func (*RemoteTimeWriter) SetSeparator ¶
func (rw *RemoteTimeWriter) SetSeparator(s string)
SetSeparator set separator between logs.
func (*RemoteTimeWriter) Sync2remote ¶
func (rw *RemoteTimeWriter) Sync2remote()
Sync2remote syncs the log buffer to remote.
func (*RemoteTimeWriter) Write ¶
func (rw *RemoteTimeWriter) Write(b []byte)
Write the logs to the buffer.
type ReportMethod ¶
type ReportMethod interface { Enum() ReportPolicy Set(int) Get() string // contains filtered or unexported methods }
ReportMethod is the interface for all kinds of report methods.
type ReportPolicy ¶
type ReportPolicy int
ReportPolicy is report policy
const ( ReportPolicyUnknown ReportPolicy = iota ReportPolicySum // 1 ReportPolicyAvg // 2 ReportPolicyDistr // 3 ReportPolicyMax // 4 ReportPolicyMin // 5 ReportPolicyCount // 6 )
func (ReportPolicy) String ¶
func (p ReportPolicy) String() string
type ServantProxy ¶
type ServantProxy struct {
// contains filtered or unexported fields
}
ServantProxy ksf servant proxy instance
func NewServantProxy ¶
func NewServantProxy(comm *Communicator, objName string, opts ...EndpointManagerOption) *ServantProxy
NewServantProxy creates and initializes a servant proxy
func (*ServantProxy) KsfInvoke ¶
func (s *ServantProxy) KsfInvoke(ctx context.Context, cType byte, sFuncName string, buf []byte, status map[string]string, reqContext map[string]string, resp *requestf.ResponsePacket) error
KsfInvoke is used for client invoking server.
func (*ServantProxy) KsfPing ¶
func (s *ServantProxy) KsfPing(ctx context.Context)
func (*ServantProxy) KsfProxy ¶
func (s *ServantProxy) KsfProxy(ctx context.Context, req requestf.RequestPacket, status map[string]string, resp *requestf.ResponsePacket) error
KsfProxy is used for client proxy.
func (*ServantProxy) KsfSetProtocol ¶
func (s *ServantProxy) KsfSetProtocol(proto model.Protocol)
KsfSetProtocol ksf set model protocol
func (*ServantProxy) KsfSetTimeout ¶
func (s *ServantProxy) KsfSetTimeout(t int)
KsfSetTimeout sets the timeout for client calling the server , which is in ms.
func (*ServantProxy) KsfSetVersion ¶
func (s *ServantProxy) KsfSetVersion(iVersion int16)
KsfSetVersion set ksf version
func (*ServantProxy) SetKsfCallback ¶
func (s *ServantProxy) SetKsfCallback(ksfCallback model.Ondispatch)
func (*ServantProxy) SetOnCloseCallback ¶
func (s *ServantProxy) SetOnCloseCallback(callback func(string))
SetPushCallback set callback function for pushing
func (*ServantProxy) SetOnConnectCallback ¶
func (s *ServantProxy) SetOnConnectCallback(callback func(string))
SetPushCallback set callback function for pushing
func (*ServantProxy) SetPushCallback ¶
func (s *ServantProxy) SetPushCallback(callback func([]byte))
SetPushCallback set callback function for pushing
type ServerConfOption ¶
type ServerConfOption func(*transport.KsfServerConf)
func WithMaxInvoke ¶
func WithMaxInvoke(maxInvoke int32) ServerConfOption
func WithQueueCap ¶
func WithQueueCap(queueCap int) ServerConfOption
func WithTlsConfig ¶
func WithTlsConfig(tlsConfig *tls.Config) ServerConfOption
type ServerFilter ¶
type ServerFilter func(ctx context.Context, d Dispatch, f interface{}, req *requestf.RequestPacket, resp *requestf.ResponsePacket, withContext bool) (err error)
ServerFilter is used for add Filter for server dispatcher ,for implementing plugins like opentracing.
type ServerFilterMiddleware ¶
type ServerFilterMiddleware func(next ServerFilter) ServerFilter
ServerFilterMiddleware is used for add multiple filter middlewares for dispatcher, for using multiple filter such as breaker, rate limit and trace.
type StatFHelper ¶
type StatFHelper struct {
// contains filtered or unexported fields
}
StatFHelper is helper struct for stat reporting.
var StatReport *StatFHelper
StatReport instance pointer of StatFHelper
func (*StatFHelper) Init ¶
func (s *StatFHelper) Init(comm *Communicator, servant string)
Init the StatFHelper
func (*StatFHelper) ReportMicMsg ¶
func (s *StatFHelper) ReportMicMsg(stStatInfo StatInfo, fromServer bool)
ReportMicMsg report the StatInfo ,from server shows whether it comes from server.
type StatInfo ¶
type StatInfo struct { Head statf.StatMicMsgHead Body statf.StatMicMsgBody }
StatInfo struct contains stat info' head and body.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
plugin
|
|
res/adminf
Package adminf comment This file was generated by ksf2go 1.1.7 Generated from AdminF.ksf
|
Package adminf comment This file was generated by ksf2go 1.1.7 Generated from AdminF.ksf |
res/basef
Package basef comment This file was generated by ksf2go 1.1.7 Generated from BaseF.ksf
|
Package basef comment This file was generated by ksf2go 1.1.7 Generated from BaseF.ksf |
res/configf
Package configf comment This file was generated by ksf2go 1.1.7 Generated from ConfigF.ksf
|
Package configf comment This file was generated by ksf2go 1.1.7 Generated from ConfigF.ksf |
res/endpointf
Package endpointf comment This file was generated by ksf2go 1.1.7 Generated from EndpointF.ksf
|
Package endpointf comment This file was generated by ksf2go 1.1.7 Generated from EndpointF.ksf |
res/logf
Package logf comment This file was generated by ksf2go 1.1.7 Generated from LogF.ksf
|
Package logf comment This file was generated by ksf2go 1.1.7 Generated from LogF.ksf |
res/nodef
Package nodef comment This file was generated by ksf2go 1.1.7 Generated from NodeF.ksf
|
Package nodef comment This file was generated by ksf2go 1.1.7 Generated from NodeF.ksf |
res/notifyf
Package notifyf comment This file was generated by ksf2go 1.1.7 Generated from NotifyF.ksf
|
Package notifyf comment This file was generated by ksf2go 1.1.7 Generated from NotifyF.ksf |
res/propertyf
Package propertyf comment This file was generated by ksf2go 1.1.7 Generated from PropertyF.ksf
|
Package propertyf comment This file was generated by ksf2go 1.1.7 Generated from PropertyF.ksf |
res/queryf
Package queryf comment This file was generated by ksf2go 1.1.7 Generated from QueryF.ksf
|
Package queryf comment This file was generated by ksf2go 1.1.7 Generated from QueryF.ksf |
res/requestf
Package requestf comment This file was generated by ksf2go 1.1.7 Generated from RequestF.ksf
|
Package requestf comment This file was generated by ksf2go 1.1.7 Generated from RequestF.ksf |
res/statf
Package statf comment This file was generated by ksf2go 1.1.7 Generated from StatF.ksf
|
Package statf comment This file was generated by ksf2go 1.1.7 Generated from StatF.ksf |
tools
|
|
ksf2go
Module
|
|
ksfgo
Module
|
|
util
|
|
conf
Package conf implements parse the ksf config.
|
Package conf implements parse the ksf config. |
set
Package set implement
|
Package set implement |