diff --git a/headers/os/net/NetworkRequest.h b/headers/os/net/NetworkRequest.h index 1d139c7338..6acc30ea73 100644 --- a/headers/os/net/NetworkRequest.h +++ b/headers/os/net/NetworkRequest.h @@ -24,6 +24,7 @@ public: const char* protocolName); virtual status_t Stop(); + virtual status_t SetTimeout(bigtime_t timeout); protected: bool _ResolveHostName(BString host, uint16_t port); diff --git a/headers/os/net/UrlRequest.h b/headers/os/net/UrlRequest.h index 64a0e7d663..02770cae80 100644 --- a/headers/os/net/UrlRequest.h +++ b/headers/os/net/UrlRequest.h @@ -28,6 +28,7 @@ public: virtual status_t Pause(); virtual status_t Resume(); virtual status_t Stop(); + virtual status_t SetTimeout(bigtime_t timeout) {} // URL protocol parameters modification status_t SetUrl(const BUrl& url); diff --git a/src/kits/network/libnetapi/NetworkRequest.cpp b/src/kits/network/libnetapi/NetworkRequest.cpp index 779bd9ca67..0393649a6b 100644 --- a/src/kits/network/libnetapi/NetworkRequest.cpp +++ b/src/kits/network/libnetapi/NetworkRequest.cpp @@ -35,6 +35,14 @@ BNetworkRequest::Stop() } +void +BNetworkRequest::SetTimeout(bigtime_t timeout) +{ + if (fSocket) + fSocket->SetTimeout(timeout); +} + + bool BNetworkRequest::_ResolveHostName(BString host, uint16_t port) {