Documentation ¶
Index ¶
- Constants
- Variables
- func AddAppConfig(filename string) (config string, err error)
- func AddConfig(filename string) (config string, err error)
- func AddHttpServant(mux HttpHandler, obj string)
- func AddHttpServantWithExceptionStatusChecker(mux HttpHandler, 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 CheckPanic()
- func DefaultExceptionStatusChecker(statusCode int) bool
- 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 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 int32, ...)
- func UseClientFilterMiddleware(cfm ...ClientFilterMiddleware)
- func UseServerFilterMiddleware(sfm ...ServerFilterMiddleware)
- type AdapterProxy
- 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 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) Name() string
- func (s *ServantProxy) SetPushCallback(callback func([]byte))
- func (s *ServantProxy) TarsInvoke(ctx context.Context, cType byte, sFuncName string, buf []byte, ...) error
- func (s *ServantProxy) TarsSetProtocol(proto model.Protocol)
- func (s *ServantProxy) TarsSetTimeout(t int)
- func (s *ServantProxy) TarsSetVersion(iVersion int16)
- type ServerConfOption
- type ServerFilter
- type ServerFilterMiddleware
- type StatFHelper
- type StatInfo
- type Sum
- type TarsHttpConf
- type TarsHttpMux
- type TarsResponseWriter
Constants ¶
const ( NotifyNormal = 0 NotifyWarn = 1 NotifyError = 2 )
const ( StatSuccess = iota StatFailed )
const ( // Version is tars version Version string = "1.4.0" // 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 = "tars.tarsstat.StatObj" // Property default value Property = "tars.tarsproperty.PropertyObj" // ModuleName default value ModuleName = "tup_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 obj 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
var TLOG = rogger.GetLogger("TLOG")
TLOG is the logger for tars framework.
Functions ¶
func AddAppConfig ¶ added in v1.3.4
AddAppConfig add app level config
func AddHttpServant ¶
func AddHttpServant(mux HttpHandler, obj string)
AddHttpServant add http servant handler with default exceptionStatusChecker for obj.
func AddHttpServantWithExceptionStatusChecker ¶ added in v1.1.2
func AddHttpServantWithExceptionStatusChecker(mux HttpHandler, obj string, exceptionStatusChecker func(int) bool)
AddHttpServantWithExceptionStatusChecker add http servant handler with exceptionStatusChecker for obj.
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 ¶ added in v1.1.2
func AddServantWithProtocol(proto transport.ServerProtocol, obj string)
AddServantWithProtocol adds a servant with protocol and obj
func CheckPanic ¶ added in v1.1.2
func CheckPanic()
CheckPanic used to dump stack info to file when catch panic
func DefaultExceptionStatusChecker ¶ added in v1.1.2
DefaultExceptionStatusChecker Default Exception Status Checker
func GetConfigList ¶ added in v1.3.4
GetConfigList get server level config list
func GetDayLogger ¶
GetDayLogger Get a logger roll by day
func GetErrorCode ¶ added in v1.1.6
GetErrorCode returns the error code
func GetHourLogger ¶
GetHourLogger Get a logger roll by hour
func GetRemoteLogger ¶
GetRemoteLogger returns a remote logger
func HashString ¶ added in v1.3.5
func Init ¶
func Init()
Init need to be called first in some situation: like GetServerConfig() and GetClientConfig()
func MagicStringHash ¶ added in v1.3.5
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 ¶ added in v1.1.7
func RegisterDispatchReporter(f DispatchReporter)
RegisterDispatchReporter registers the server dispatch reporter
func RegisterPostClientFilter ¶ added in v1.1.2
func RegisterPostClientFilter(f ClientFilter)
RegisterPostClientFilter registers the client filter, and will be executed in order after every request
func RegisterPostServerFilter ¶ added in v1.1.2
func RegisterPostServerFilter(f ServerFilter)
RegisterPostServerFilter registers the server filter, executed in order after every request
func RegisterPreClientFilter ¶ added in v1.1.2
func RegisterPreClientFilter(f ClientFilter)
RegisterPreClientFilter registers the client filter, and will be executed in order before every request
func RegisterPreServerFilter ¶ added in v1.1.2
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 ReportDistr ¶ added in v1.1.2
ReportDistr distr report
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 UseClientFilterMiddleware ¶ added in v1.1.6
func UseClientFilterMiddleware(cfm ...ClientFilterMiddleware)
UseClientFilterMiddleware uses the client filter middleware.
func UseServerFilterMiddleware ¶ added in v1.1.6
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 ¶ added in v1.1.2
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) ParsePackage ¶
func (c *AdapterProxy) ParsePackage(buff []byte) (int, int)
ParsePackage : Parse packet from bytes
func (*AdapterProxy) Recv ¶
func (c *AdapterProxy) Recv(pkg []byte)
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
type AppCache ¶ added in v1.1.2
func GetAppCache ¶ added in v1.1.2
func GetAppCache() 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 ¶ added in v1.1.6
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 ¶ added in v1.3.4
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 obj
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 *tars.Communicator comm = tars.NewCommunicator() e.g. comm.SetProperty("locator", "tars.tarsregistry.QueryObj@tcp -h ... -p ...")
func (*Communicator) SetTraceParam ¶ added in v1.2.0
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) Enum ¶ added in v1.1.2
func (c *Count) Enum() ReportPolicy
Enum return the report policy
type Dispatch ¶
type Dispatch func(context.Context, interface{}, *requestf.RequestPacket, *requestf.ResponsePacket, bool) error
Dispatch server side Dispatch
type DispatchReporter ¶ added in v1.1.7
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 ¶ added in v1.1.7
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.
func (*Distr) Enum ¶ added in v1.1.2
func (d *Distr) Enum() ReportPolicy
Enum return the report policy
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 ¶ added in v1.1.2
func GetManager(comm *Communicator, objName string, opts ...EndpointManagerOption) EndpointManager
GetManager return a endpoint manager from global endpoint manager
type EndpointManagerOption ¶ added in v1.3.4
type EndpointManagerOption interface {
// contains filtered or unexported methods
}
type Error ¶ added in v1.1.6
Error is the type of rpc error with error code
type HttpHandler ¶ added in v1.3.5
type HttpHandler interface { http.Handler SetConfig(cfg *TarsHttpConf) }
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 tars 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 OptionFunc ¶ added in v1.3.4
type OptionFunc struct {
// contains filtered or unexported fields
}
func WithSet ¶ added in v1.3.4
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 ¶ added in v1.1.2
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 ¶ added in v1.3.0
type Protocol struct {
// contains filtered or unexported fields
}
Protocol is struct for dispatch with tars protocol.
func NewTarsProtocol ¶
NewTarsProtocol return a TarsProtocol with dispatcher and implement interface. withContext explain using context or not.
func (*Protocol) GetCloseMsg ¶ added in v1.3.0
GetCloseMsg return a package to close connection
func (*Protocol) Invoke ¶ added in v1.3.0
Invoke puts the request as []byte and call the dispatcher, and then return the response as []byte.
func (*Protocol) InvokeTimeout ¶ added in v1.3.0
InvokeTimeout indicates how to deal with timeout.
type RConf ¶
type RConf struct {
// contains filtered or unexported fields
}
RConf struct for getting remote config.
func (*RConf) GetAppConfig ¶ added in v1.3.4
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.
func (*RConf) GetConfigList ¶
GetConfigList is discarded.
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 ¶ added in v1.3.0
func (rw *RemoteTimeWriter) EnableSquareWrapper(hasSquareBracket bool)
EnableSquareWrapper enables SquareBracket wrapper for the logs.
func (*RemoteTimeWriter) EnableSuffix ¶ added in v1.3.0
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 ¶ added in v1.1.2
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 ¶ added in v1.1.2
func (p ReportPolicy) String() string
type ServantProxy ¶
type ServantProxy struct {
// contains filtered or unexported fields
}
ServantProxy tars servant proxy instance
func NewServantProxy ¶ added in v1.1.5
func NewServantProxy(comm *Communicator, objName string, opts ...EndpointManagerOption) *ServantProxy
NewServantProxy creates and initializes a servant proxy
func (*ServantProxy) SetPushCallback ¶ added in v1.3.2
func (s *ServantProxy) SetPushCallback(callback func([]byte))
SetPushCallback set callback function for pushing
func (*ServantProxy) TarsInvoke ¶ added in v1.3.0
func (s *ServantProxy) TarsInvoke(ctx context.Context, cType byte, sFuncName string, buf []byte, status map[string]string, reqContext map[string]string, resp *requestf.ResponsePacket) error
TarsInvoke is used for client invoking server.
func (*ServantProxy) TarsSetProtocol ¶ added in v1.1.2
func (s *ServantProxy) TarsSetProtocol(proto model.Protocol)
TarsSetProtocol tars set model protocol
func (*ServantProxy) TarsSetTimeout ¶
func (s *ServantProxy) TarsSetTimeout(t int)
TarsSetTimeout sets the timeout for client calling the server , which is in ms.
func (*ServantProxy) TarsSetVersion ¶ added in v1.1.2
func (s *ServantProxy) TarsSetVersion(iVersion int16)
TarsSetVersion set tars version
type ServerConfOption ¶ added in v1.3.9
type ServerConfOption func(*transport.TarsServerConf)
func WithMaxInvoke ¶ added in v1.3.9
func WithMaxInvoke(maxInvoke int32) ServerConfOption
func WithQueueCap ¶ added in v1.3.9
func WithQueueCap(queueCap int) ServerConfOption
func WithTlsConfig ¶ added in v1.3.9
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 ¶ added in v1.1.6
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.
type TarsHttpConf ¶
type TarsHttpConf struct { Container string AppName string IP string Port int32 Version string SetId string ExceptionStatusChecker func(int) bool }
TarsHttpConf is configuration for tars http server.
type TarsHttpMux ¶
TarsHttpMux is http.ServeMux for tars http server.
func (*TarsHttpMux) GetGinEngine ¶ added in v1.3.5
func (mux *TarsHttpMux) GetGinEngine() *gin.Engine
GetGinEngine sets the cfg tho the *gin.Engine.
func (*TarsHttpMux) ServeHTTP ¶
func (mux *TarsHttpMux) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP is the server for the TarsHttpMux.
func (*TarsHttpMux) SetConfig ¶
func (mux *TarsHttpMux) SetConfig(cfg *TarsHttpConf)
SetConfig sets the cfg tho the TarsHttpMux.
type TarsResponseWriter ¶
type TarsResponseWriter struct { http.ResponseWriter StatusCode int }
TarsResponseWriter is http.ResponseWriter for tars.
func (*TarsResponseWriter) Hijack ¶ added in v1.1.2
func (w *TarsResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
Hijack add Hijack method for TarsResponseWriter
func (*TarsResponseWriter) WriteHeader ¶
func (w *TarsResponseWriter) WriteHeader(code int)
WriteHeader is used for write the http header with the http code.
Source Files ¶
- adapter.go
- admin.go
- appcache.go
- application.go
- communicator.go
- config.go
- endpointmanager.go
- errors.go
- filter.go
- hash_func.go
- httpserver.go
- init.go
- logger.go
- message.go
- nodef.go
- notifyf.go
- panic.go
- propertyf.go
- rconfig.go
- remotelogger.go
- servant.go
- servanthandle.go
- setting.go
- statf.go
- tarsprotocol.go
Directories ¶
Path | Synopsis |
---|---|
plugin
|
|
res/adminf
Package adminf comment This file was generated by tars2go 1.1.10 Generated from AdminF.tars
|
Package adminf comment This file was generated by tars2go 1.1.10 Generated from AdminF.tars |
res/basef
Package basef comment This file was generated by tars2go 1.1.10 Generated from BaseF.tars
|
Package basef comment This file was generated by tars2go 1.1.10 Generated from BaseF.tars |
res/configf
Package configf comment This file was generated by tars2go 1.1.10 Generated from ConfigF.tars
|
Package configf comment This file was generated by tars2go 1.1.10 Generated from ConfigF.tars |
res/endpointf
Package endpointf comment This file was generated by tars2go 1.1.10 Generated from EndpointF.tars
|
Package endpointf comment This file was generated by tars2go 1.1.10 Generated from EndpointF.tars |
res/logf
Package logf comment This file was generated by tars2go 1.1.10 Generated from LogF.tars
|
Package logf comment This file was generated by tars2go 1.1.10 Generated from LogF.tars |
res/nodef
Package nodef comment This file was generated by tars2go 1.1.10 Generated from NodeF.tars
|
Package nodef comment This file was generated by tars2go 1.1.10 Generated from NodeF.tars |
res/notifyf
Package notifyf comment This file was generated by tars2go 1.1.10 Generated from NotifyF.tars
|
Package notifyf comment This file was generated by tars2go 1.1.10 Generated from NotifyF.tars |
res/propertyf
Package propertyf comment This file was generated by tars2go 1.1.10 Generated from PropertyF.tars
|
Package propertyf comment This file was generated by tars2go 1.1.10 Generated from PropertyF.tars |
res/queryf
Package queryf comment This file was generated by tars2go 1.1.10 Generated from QueryF.tars
|
Package queryf comment This file was generated by tars2go 1.1.10 Generated from QueryF.tars |
res/requestf
Package requestf comment This file was generated by tars2go 1.1.10 Generated from RequestF.tars
|
Package requestf comment This file was generated by tars2go 1.1.10 Generated from RequestF.tars |
res/statf
Package statf comment This file was generated by tars2go 1.1.10 Generated from StatF.tars
|
Package statf comment This file was generated by tars2go 1.1.10 Generated from StatF.tars |
tools
|
|
pb2tarsgo
Module
|
|
protoc-gen-go-tarsrpc
Module
|
|
tars2go
Module
|
|
tarsgo
Module
|
|
util
|
|
conf
Package conf implements parse the taf config.
|
Package conf implements parse the taf config. |
set
Package set implement
|
Package set implement |