32 lines
865 B
C++
32 lines
865 B
C++
#ifndef MUDUO_EXAMPLES_SIMPLE_CHARGEN_CHARGEN_H
|
|
#define MUDUO_EXAMPLES_SIMPLE_CHARGEN_CHARGEN_H
|
|
|
|
#include "muduo/net/TcpServer.h"
|
|
|
|
// RFC 864
|
|
class ChargenServer {
|
|
public:
|
|
ChargenServer(muduo::net::EventLoop* loop,
|
|
const muduo::net::InetAddress& listenAddr,
|
|
bool print = false);
|
|
|
|
void start();
|
|
|
|
private:
|
|
void onConnection(const muduo::net::TcpConnectionPtr& conn);
|
|
|
|
void onMessage(const muduo::net::TcpConnectionPtr& conn,
|
|
muduo::net::Buffer* buf, muduo::Timestamp time);
|
|
|
|
void onWriteComplete(const muduo::net::TcpConnectionPtr& conn);
|
|
void printThroughput();
|
|
|
|
muduo::net::TcpServer server_;
|
|
|
|
muduo::string message_;
|
|
int64_t transferred_;
|
|
muduo::Timestamp startTime_;
|
|
};
|
|
|
|
#endif // MUDUO_EXAMPLES_SIMPLE_CHARGEN_CHARGEN_H
|