2 * Copyright 2011-2016, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
5 #ifndef _SECURE_SOCKET_H
6 #define _SECURE_SOCKET_H
15 class BSecureSocket
: public BSocket
{
18 BSecureSocket(const BNetworkAddress
& peer
,
19 bigtime_t timeout
= B_INFINITE_TIMEOUT
);
20 BSecureSocket(const BSecureSocket
& other
);
21 virtual ~BSecureSocket();
23 virtual bool CertificateVerificationFailed(BCertificate
&
24 certificate
, const char* message
);
28 // BSocket implementation
30 virtual status_t
Accept(BAbstractSocket
*& _socket
);
32 virtual status_t
Connect(const BNetworkAddress
& peer
,
33 bigtime_t timeout
= B_INFINITE_TIMEOUT
);
34 virtual void Disconnect();
36 virtual status_t
WaitForReadable(bigtime_t timeout
37 = B_INFINITE_TIMEOUT
) const;
39 // BDataIO implementation
41 virtual ssize_t
Read(void* buffer
, size_t size
);
42 virtual ssize_t
Write(const void* buffer
, size_t size
);
45 status_t
_SetupCommon(const char* host
= NULL
);
46 status_t
_SetupConnect(const char* host
= NULL
);
47 status_t
_SetupAccept();
50 friend class BCertificate
;
56 #endif // _SECURE_SOCKET_H