rocksdb/thrift/lib/cpp/transport/TSSLServerSocket.h

47 lines
1.2 KiB
C
Raw Normal View History

// Copyright (c) 2009- Facebook
// Distributed under the Thrift Software License
//
// See accompanying file LICENSE or visit the Thrift site at:
// http://developers.facebook.com/thrift/
#ifndef _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_
#define _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_ 1
#include <boost/shared_ptr.hpp>
#include "thrift/lib/cpp/transport/TServerSocket.h"
namespace apache { namespace thrift { namespace transport {
class TSSLSocketFactory;
/**
* Server socket that accepts SSL connections.
*/
class TSSLServerSocket: public TServerSocket {
public:
/**
* Constructor.
*
* @param port Listening port
* @param factory SSL socket factory implementation
*/
TSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory);
/**
* Constructor.
*
* @param port Listening port
* @param sendTimeout Socket send timeout
* @param recvTimeout Socket receive timeout
* @param factory SSL socket factory implementation
*/
TSSLServerSocket(int port, int sendTimeout, int recvTimeout,
boost::shared_ptr<TSSLSocketFactory> factory);
protected:
boost::shared_ptr<TSocket> createSocket(int socket);
boost::shared_ptr<TSSLSocketFactory> factory_;
};
}}}
#endif