AlexStocks / getty

a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
Apache License 2.0
883 stars 184 forks source link

feat:client 对象提供写数据接口 #50

Closed JerryZhou343 closed 3 years ago

JerryZhou343 commented 3 years ago

client 对象已经含有session管理;所以上层使用的client的时候,没必要重复进行session管理,client提供write接口,选择活跃的session写数据即可。

测试示例: tcp-echo client:

func echo() {
    var pkg EchoPackage
    pkg.H.Magic = echoPkgMagic
    pkg.H.LogID = (uint32)(src.Int63())
    pkg.H.Sequence = atomic.AddUint32(&reqID, 1)
    // pkg.H.ServiceID = 0
    pkg.H.Command = echoCmd
    pkg.B = conf.EchoString
    pkg.H.Len = (uint16)(len(pkg.B)) + 1
    /*
    if session := client.selectSession(); session != nil {
        err := session.WritePkg(&pkg, WritePkgTimeout)
        if err != nil {
            log.Warn("session.WritePkg(session{%s}, pkg{%s}) = error{%v}", session.Stat(), pkg, err)
            session.Close()
            client.removeSession(session)
        }
    }
     */
    if err := client.gettyClient.WritePkg(&pkg,WritePkgTimeout);err != nil{
        log.Warn("session.WritePkg(pkg{%s}) = error{%v}",  pkg, err)
    }
}
codecov-io commented 3 years ago

Codecov Report

Merging #50 (f99e888) into master (9f44d78) will decrease coverage by 0.06%. The diff coverage is 40.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
- Coverage   60.32%   60.25%   -0.07%     
==========================================
  Files          20       20              
  Lines        2936     2956      +20     
==========================================
+ Hits         1771     1781      +10     
- Misses        874      883       +9     
- Partials      291      292       +1     
Impacted Files Coverage Δ
transport/server.go 65.99% <0.00%> (-0.82%) :arrow_down:
transport/client.go 66.94% <47.05%> (-1.55%) :arrow_down:
transport/connection.go 79.70% <0.00%> (+0.73%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 9f44d78...f99e888. Read the comment docs.