2018-12-29 18:33:15 -08:00
|
|
|
/*
|
|
|
|
* IXSocketSChannel.h
|
|
|
|
* Author: Benjamin Sergeant
|
|
|
|
* Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "IXSocket.h"
|
|
|
|
|
2019-02-20 18:59:07 -08:00
|
|
|
namespace ix
|
2018-12-29 18:33:15 -08:00
|
|
|
{
|
2019-05-12 11:43:21 -07:00
|
|
|
class SocketSChannel final : public Socket
|
2018-12-29 18:33:15 -08:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
SocketSChannel();
|
|
|
|
~SocketSChannel();
|
|
|
|
|
2019-05-30 08:46:50 -07:00
|
|
|
virtual bool connect(const std::string& host, int port, std::string& errMsg) final;
|
2018-12-29 18:33:15 -08:00
|
|
|
virtual void close() final;
|
|
|
|
|
|
|
|
// The important override
|
|
|
|
virtual void secureSocket() final;
|
|
|
|
|
2019-04-16 18:51:57 +03:00
|
|
|
virtual ssize_t send(char* buffer, size_t length) final;
|
|
|
|
virtual ssize_t send(const std::string& buffer) final;
|
|
|
|
virtual ssize_t recv(void* buffer, size_t length) final;
|
2018-12-29 18:33:15 -08:00
|
|
|
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
|
2019-05-30 08:46:50 -07:00
|
|
|
} // namespace ix
|