method for reaction on input data for re-used keep-alive connection, which free/release buffer when was placed in cache
| 856 | //method for reaction on input data for re-used keep-alive connection, |
| 857 | //which free/release buffer when was placed in cache |
| 858 | void OnCanRead(const TErrorCode& err, IHandlingContext& ctx) { |
| 859 | if (Y_UNLIKELY(err)) { |
| 860 | OnError(err); |
| 861 | } else { |
| 862 | if (!Buff_) { |
| 863 | Buff_.Reset(new char[BuffSize_]); |
| 864 | } |
| 865 | TErrorCode ec; |
| 866 | OnReadSome(ec, AS_.ReadSome(Buff_.Get(), BuffSize_, ec), ctx); |
| 867 | } |
| 868 | } |
| 869 | |
| 870 | //unlink connection and request, thread-safe mark connection as non valid |
| 871 | inline THttpRequestRef GetRequest() noexcept { |