Documentation ¶
Overview ¶
Package clientsession is client session with a high efficient and load balanced connection pool.
Copyright 2018 HenryLee. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- type CliSession
- func (c *CliSession) Addr() string
- func (c *CliSession) AsyncCall(uri string, arg interface{}, result interface{}, callCmdChan chan<- tp.CallCmd, ...) tp.CallCmd
- func (c *CliSession) Call(uri string, arg interface{}, result interface{}, ...) tp.CallCmd
- func (c *CliSession) Close()
- func (c *CliSession) Peer() tp.Peer
- func (c *CliSession) Push(uri string, arg interface{}, setting ...socket.PacketSetting) *tp.Rerror
- func (c *CliSession) Stats() pool.WorkshopStats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CliSession ¶
type CliSession struct {
// contains filtered or unexported fields
}
CliSession client session which is has connection pool
func New ¶
func New(peer tp.Peer, addr string, sessMaxQuota int, sessMaxIdleDuration time.Duration, protoFunc ...socket.ProtoFunc) *CliSession
New creates a client session which is has connection pool.
func (*CliSession) AsyncCall ¶
func (c *CliSession) AsyncCall( uri string, arg interface{}, result interface{}, callCmdChan chan<- tp.CallCmd, setting ...socket.PacketSetting, ) tp.CallCmd
AsyncCall sends a packet and receives reply asynchronously. If the arg is []byte or *[]byte type, it can automatically fill in the body codec name.
func (*CliSession) Call ¶
func (c *CliSession) Call(uri string, arg interface{}, result interface{}, setting ...socket.PacketSetting) tp.CallCmd
Call sends a packet and receives reply. Note: If the arg is []byte or *[]byte type, it can automatically fill in the body codec name; If the session is a client role and PeerConfig.RedialTimes>0, it is automatically re-called once after a failure.
func (*CliSession) Push ¶
func (c *CliSession) Push(uri string, arg interface{}, setting ...socket.PacketSetting) *tp.Rerror
Push sends a packet, but do not receives reply. Note: If the arg is []byte or *[]byte type, it can automatically fill in the body codec name; If the session is a client role and PeerConfig.RedialTimes>0, it is automatically re-called once after a failure.
func (*CliSession) Stats ¶
func (c *CliSession) Stats() pool.WorkshopStats
Stats returns the current session pool stats.