BOB quiet command

This commit is contained in:
orignal 2014-12-05 14:13:16 -05:00
parent 07d5e8c756
commit 392075bf60
2 changed files with 75 additions and 5 deletions

29
BOB.h
View file

@ -30,7 +30,8 @@ namespace client
const char BOB_COMMAND_OUTPORT[] = "outport";
const char BOB_COMMAND_INHOST[] = "inhost";
const char BOB_COMMAND_INPORT[] = "inport";
const char BOB_COMMAND_QUIET[] = "quiet";
const char BOB_REPLY_OK[] = "OK %s\n";
const char BOB_REPLY_ERROR[] = "ERROR %s\n";
@ -66,6 +67,29 @@ namespace client
size_t m_ReceivedDataLen;
};
class BOBI2POutboundTunnel: public I2PTunnel
{
public:
BOBI2POutboundTunnel (boost::asio::io_service& service, const std::string& address, int port,
ClientDestination * localDestination, bool quiet);
void Start ();
void Stop ();
void SetQuiet () { m_IsQuiet = true; };
private:
void Accept ();
void HandleAccept (std::shared_ptr<i2p::stream::Stream> stream);
private:
boost::asio::ip::tcp::endpoint m_Endpoint;
bool m_IsQuiet;
};
class BOBCommandChannel;
class BOBCommandSession: public std::enable_shared_from_this<BOBCommandSession>
{
@ -93,6 +117,7 @@ namespace client
void OutportCommandHandler (const char * operand, size_t len);
void InhostCommandHandler (const char * operand, size_t len);
void InportCommandHandler (const char * operand, size_t len);
void QuietCommandHandler (const char * operand, size_t len);
private:
@ -109,7 +134,7 @@ namespace client
boost::asio::ip::tcp::socket m_Socket;
char m_ReceiveBuffer[BOB_COMMAND_BUFFER_SIZE + 1], m_SendBuffer[BOB_COMMAND_BUFFER_SIZE + 1];
size_t m_ReceiveBufferOffset;
bool m_IsOpen, m_IsOutbound;
bool m_IsOpen, m_IsOutbound, m_IsQuiet;
std::string m_Nickname, m_Address;
int m_Port;
i2p::data::PrivateKeys m_Keys;