MCPcopy Create free account
hub / github.com/catboost/catboost / TRequest

Class TRequest

library/cpp/neh/tcp2.cpp:1119–1168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1117 typedef TIntrusivePtr<TConnection> TConnectionRef;
1118
1119 struct TRequest: public IRequest {
1120 struct TState: public TThrRefBase {
1121 TAtomicBool Canceled = false;
1122 };
1123 typedef TIntrusivePtr<TState> TStateRef;
1124
1125 TRequest(const TConnectionRef& conn, TBuffer& buf, const TString& content);
1126 ~TRequest() override;
1127
1128 TStringBuf Scheme() const override {
1129 return TStringBuf("tcp2");
1130 }
1131
1132 TString RemoteHost() const override;
1133
1134 TStringBuf Service() const override {
1135 return TStringBuf(Buf.Data() + sizeof(TRequestHeader), Buf.End());
1136 }
1137
1138 TStringBuf Data() const override {
1139 return TStringBuf(Content_);
1140 }
1141
1142 TStringBuf RequestId() const override {
1143 return TStringBuf();
1144 }
1145
1146 bool Canceled() const override {
1147 return State->Canceled;
1148 }
1149
1150 void SendReply(TData& data) override;
1151
1152 void SendError(TResponseError, const TString&) override {
1153 // TODO
1154 }
1155
1156 const TRequestHeader& RequestHeader() const noexcept {
1157 return *reinterpret_cast<const TRequestHeader*>(Buf.Data());
1158 }
1159
1160 private:
1161 TConnectionRef Conn;
1162 TBuffer Buf; //service-name + message-data
1163 TString Content_;
1164 TAtomic Replied_;
1165
1166 public:
1167 TIntrusivePtr<TState> State;
1168 };
1169
1170 class TConnection: public TThrRefBase {
1171 private:

Callers

nothing calls this directly

Calls 1

DataMethod · 0.45

Tested by

no test coverage detected