33#ifndef PPTConnection_h
34#define PPTConnection_h 1
36#include "Connection.h"
37#include "PPTProtocolNames.h"
41#define PPT_CHUNK_HEADER_SPACE 15
56 virtual int readChunkHeader(
char *inBuff,
58 virtual void sendChunk(
const std::string &buffer, std::map<std::string, std::string> &extensions);
59 virtual void receive(std::ostream &strm,
const int len);
62 PPTConnection(
int timeout) : _timeout(timeout), _inBuff(0), _inBuff_len(0)
66 virtual int readBuffer(
char *inBuff,
const unsigned int buff_size);
69 virtual void send(
const std::string &buffer);
70 virtual void read_extensions(std::map<std::string, std::string> &extensions,
const std::string &xstr);
75 virtual void initConnection() = 0;
76 virtual void closeConnection() = 0;
78 virtual std::string exit()
83 virtual void send(
const std::string &buffer, std::map<std::string, std::string> &extensions);
84 virtual void sendExtensions(std::map<std::string, std::string> &extensions);
86 virtual bool receive(std::map<std::string, std::string> &extensions, std::ostream *strm = 0);
88 virtual unsigned int getRecvChunkSize();
89 virtual unsigned int getSendChunkSize();
91 virtual void dump(std::ostream &strm)
const;
virtual void sendExit()
Send the exit token as an extension.
virtual int readBuffer(char *inBuff, const unsigned int buff_size)
read a buffer of data from the socket
virtual void sendExtensions(std::map< std::string, std::string > &extensions)
send the specified extensions
virtual void send(const std::string &buffer)
sends the buffer to the socket
virtual void read_extensions(std::map< std::string, std::string > &extensions, const std::string &xstr)
the string passed are extensions, read them and store the name/value pairs into the passed map
virtual int readBufferNonBlocking(char *inBuff, const int buff_size)
read a buffer of data from the socket without blocking
virtual void dump(std::ostream &strm) const
dumps information about this object