| 2907 | } |
| 2908 | |
| 2909 | func (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error { |
| 2910 | cc := rl.cc |
| 2911 | cc.t.connPool().MarkDead(cc) |
| 2912 | if f.ErrCode != 0 { |
| 2913 | // TODO: deal with GOAWAY more. particularly the error code |
| 2914 | cc.vlogf("transport got GOAWAY with error code = %v", f.ErrCode) |
| 2915 | if fn := cc.t.CountError; fn != nil { |
| 2916 | fn("recv_goaway_" + f.ErrCode.stringToken()) |
| 2917 | } |
| 2918 | } |
| 2919 | cc.setGoAway(f) |
| 2920 | return nil |
| 2921 | } |
| 2922 | |
| 2923 | func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { |
| 2924 | cc := rl.cc |