19 #include <Poco/Process.h>
20 #include <Poco/SharedPtr.h>
21 #include <Poco/Thread.h>
31 #ifdef FASPSTREAM_CPP_EXPORTS
32 #define FASPSTREAM_CPP_API __declspec(dllexport)
34 #define FASPSTREAM_CPP_API __declspec(dllimport)
38 #define FASPSTREAM_CPP_API
123 const std::string& faspstreamPath);
196 Poco::SharedPtr<Poco::ProcessHandle> _ph;
206 std::string _hostname;
217 std::string _faspstreamPath;
218 std::string _errorString;
219 bool _subprocessDied;
220 int _forceSendMilliseconds;
222 std::string _logDirectory;
223 std::string _commandToExecute;
225 std::string _license;
231 Poco::Thread* _thread;
234 void invoke_faspstream();
235 void startChannelSocketListener();
236 void check_faspstream();
239 void log(std::string logEntry);
FASPSTREAM_CPP_API FaspStreamServer(const std::string &appId, FaspConnectionChannel *channel=NULL)
void registerLogCallback(log_callback_f log_function)
FASPSTREAM_CPP_API FaspOutputStream & getFaspOutputStream()
FASPSTREAM_CPP_API void setChunkSize(int size)
FASPSTREAM_CPP_API void setDatagramSize(int size)
FASPSTREAM_CPP_API int getRateMinimum() const
FASPSTREAM_CPP_API ~FaspStreamServer()
FASPSTREAM_CPP_API void setLockMinimum(bool lockMin)
FASPSTREAM_CPP_API int getForceSendMilliseconds() const
Definition: FaspOutputStream.h:38
FASPSTREAM_CPP_API FASPSTREAM_CIPHER_TYPE getCipherType() const
FASPSTREAM_CPP_API int getAggressiveness() const
FASPSTREAM_CPP_API void setRateTarget(int target)
FASPSTREAM_CPP_API int getRateTarget() const
FASPSTREAM_CPP_API int getPort() const
FASPSTREAM_POLICY_TYPE
Definition: fasp_stream_constants.h:25
FASPSTREAM_CPP_API void setLicense(std::string commandToExecute)
FASPSTREAM_CPP_API void setAggressiveness(int aggressive)
FASPSTREAM_CPP_API bool startServer(bool killChild=false)
FASPSTREAM_CPP_API int getChunkSize() const
FASPSTREAM_CPP_API void setFaspstreamPath(const std::string &faspstreamPath)
FASPSTREAM_CPP_API void setCommandToExecute(std::string commandToExecute)
FASPSTREAM_CPP_API std::string getHostname() const
FASPSTREAM_CPP_API void setLogDirectory(std::string logDirectory)
FASPSTREAM_CPP_API void setHostname(const std::string &name)
FASPSTREAM_CPP_API void setTransferMode(FASPSTREAM_TRANSFER_MODE_TYPE transferMode)
FASPSTREAM_CPP_API int getUdpPort() const
FASPSTREAM_CPP_API int getDatagramSize() const
FASPSTREAM_CPP_API int getAcceptTimeout() const
Definition: FaspStreamServer.h:47
FASPSTREAM_CPP_API void setMaxMemory(int maxMem)
FASPSTREAM_CPP_API FASPSTREAM_POLICY_TYPE getPolicy() const
Definition: ChannelHandler.h:16
FASPSTREAM_CPP_API std::string getLicense() const
FASPSTREAM_CPP_API void setCipherType(FASPSTREAM_CIPHER_TYPE type)
FASPSTREAM_CPP_API void setForceSendMilliseconds(int milliseconds)
#define FASPSTREAM_CPP_API
Definition: FaspStreamServer.h:38
FASPSTREAM_CPP_API void setPolicy(FASPSTREAM_POLICY_TYPE newPolicy)
FASPSTREAM_CPP_API void setRateMinimum(int minimum)
FASPSTREAM_CPP_API std::string getCommandToExecute() const
FASPSTREAM_TRANSFER_MODE_TYPE
Definition: fasp_stream_constants.h:46
Definition: FaspConnectionChannel.h:33
FASPSTREAM_CIPHER_TYPE
Definition: fasp_stream_constants.h:37
FASPSTREAM_CPP_API FASPSTREAM_TRANSFER_MODE_TYPE getTransferMode() const
FASPSTREAM_CPP_API FaspInputStream & getFaspInputStream()
FASPSTREAM_CPP_API void setLockTarget(bool target)
FASPSTREAM_CPP_API void setLockPolicy(bool lock)
FASPSTREAM_CPP_API std::string getLogDirectory() const
FASPSTREAM_CPP_API bool isLockPolicy() const
FASPSTREAM_CPP_API bool isLockMinimum() const
FASPSTREAM_CPP_API void setUdpPort(int port)
std::vector< std::string > getCommandline() const
FASPSTREAM_CPP_API std::string getFaspstreamPath() const
void(* log_callback_f)(char const *s)
Definition: fasp_stream_constants.h:67
FASPSTREAM_CPP_API bool isLockTarget() const
FASPSTREAM_CPP_API void setAcceptTimeout(int timeout)
FASPSTREAM_CPP_API std::string getUsername() const
FASPSTREAM_CPP_API int getMaxMemory() const
FASPSTREAM_CPP_API void cleanup()
FASPSTREAM_CPP_API void setPort(int tcpPort)