Skip to content

Commit

Permalink
code format
Browse files Browse the repository at this point in the history
  • Loading branch information
578223592 committed Feb 21, 2024
1 parent 2489d86 commit 15df1f8
Show file tree
Hide file tree
Showing 28 changed files with 3,575 additions and 3,983 deletions.
1,088 changes: 573 additions & 515 deletions build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c

Large diffs are not rendered by default.

1,038 changes: 547 additions & 491 deletions build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp

Large diffs are not rendered by default.

148 changes: 65 additions & 83 deletions example/fiberExample/server.cpp
Original file line number Diff line number Diff line change
@@ -1,105 +1,87 @@
#include <unistd.h>
#include <iostream>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <stack>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
#include <iostream>
#include <stack>
#include "monsoon.h"

static int listen_sock = -1;

void test_accept();

// task
void watch_io_read()
{
monsoon::IOManager::GetThis()->addEvent(listen_sock, monsoon::READ, test_accept);
}
void watch_io_read() { monsoon::IOManager::GetThis()->addEvent(listen_sock, monsoon::READ, test_accept); }

void test_accept()
{
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
socklen_t len = sizeof(addr);
int fd = accept(listen_sock, (struct sockaddr *)&addr, &len);
if (fd < 0)
{
std::cout << "fd = " << fd << ",accept error" << std::endl;
}
else
{
std::cout << "fd = " << fd << ",accept success" << std::endl;
fcntl(fd, F_SETFL, O_NONBLOCK);
monsoon::IOManager::GetThis()->addEvent(
fd, monsoon::READ, [fd]()
{
char buffer[1024];
memset(buffer,0,sizeof(buffer));
while(true)
{
int ret = recv(fd,buffer,sizeof(buffer),0);
if(ret >0)
{
std::cout<<"client say: "<<buffer<<std::endl;
ret = send(fd,buffer,ret,0);
}
if(ret <= 0)
{
if(errno == EAGAIN)continue;
close(fd);
break;
}
} });
}
monsoon::IOManager::GetThis()->scheduler(watch_io_read);
void test_accept() {
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
socklen_t len = sizeof(addr);
int fd = accept(listen_sock, (struct sockaddr *)&addr, &len);
if (fd < 0) {
std::cout << "fd = " << fd << ",accept error" << std::endl;
} else {
std::cout << "fd = " << fd << ",accept success" << std::endl;
fcntl(fd, F_SETFL, O_NONBLOCK);
monsoon::IOManager::GetThis()->addEvent(fd, monsoon::READ, [fd]() {
char buffer[1024];
memset(buffer, 0, sizeof(buffer));
while (true) {
int ret = recv(fd, buffer, sizeof(buffer), 0);
if (ret > 0) {
std::cout << "client say: " << buffer << std::endl;
ret = send(fd, buffer, ret, 0);
}
if (ret <= 0) {
if (errno == EAGAIN) continue;
close(fd);
break;
}
}
});
}
monsoon::IOManager::GetThis()->scheduler(watch_io_read);
}

void test_iomanager()
{
int port = 8080;
struct sockaddr_in svr_addr;
// socklen_t cli_len = sizeof(cli_addr);
listen_sock = socket(AF_INET, SOCK_STREAM, 0);
if (listen_sock < 0)
{
std::cout << "creating listen socket error" << std::endl;
return;
}
void test_iomanager() {
int port = 8080;
struct sockaddr_in svr_addr;
// socklen_t cli_len = sizeof(cli_addr);
listen_sock = socket(AF_INET, SOCK_STREAM, 0);
if (listen_sock < 0) {
std::cout << "creating listen socket error" << std::endl;
return;
}

int opt = 1;
setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
int opt = 1;
setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

memset((char *)&svr_addr, 0, sizeof(svr_addr));
svr_addr.sin_family = AF_INET;
svr_addr.sin_port = htons(port);
svr_addr.sin_addr.s_addr = INADDR_ANY;
memset((char *)&svr_addr, 0, sizeof(svr_addr));
svr_addr.sin_family = AF_INET;
svr_addr.sin_port = htons(port);
svr_addr.sin_addr.s_addr = INADDR_ANY;

if (bind(listen_sock, (struct sockaddr *)&svr_addr, sizeof(svr_addr)) < 0)
{
std::cout << "bind error" << std::endl;
return;
}
if (bind(listen_sock, (struct sockaddr *)&svr_addr, sizeof(svr_addr)) < 0) {
std::cout << "bind error" << std::endl;
return;
}

if (listen(listen_sock, 1024) < 0)
{
std::cout << "listen error" << std::endl;
return;
}
else
{
std::cout << "listen success on port: " << port << std::endl;
}
if (listen(listen_sock, 1024) < 0) {
std::cout << "listen error" << std::endl;
return;
} else {
std::cout << "listen success on port: " << port << std::endl;
}

fcntl(listen_sock, F_SETFL, O_NONBLOCK);
fcntl(listen_sock, F_SETFL, O_NONBLOCK);

monsoon::IOManager iomanager;
iomanager.addEvent(listen_sock, monsoon::READ, test_accept);
monsoon::IOManager iomanager;
iomanager.addEvent(listen_sock, monsoon::READ, test_accept);
}

int main(int argc, char *argv[])
{
test_iomanager();
return 0;
int main(int argc, char *argv[]) {
test_iomanager();
return 0;
}
126 changes: 57 additions & 69 deletions example/fiberExample/test_hook.cpp
Original file line number Diff line number Diff line change
@@ -1,89 +1,77 @@
#include "monsoon.h"
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
#include "monsoon.h"

const std::string LOG_HEAD = "[TASK] ";

void test_sleep()
{
std::cout << LOG_HEAD << "tid = " << monsoon::GetThreadId() << ",test_fiber_sleep begin" << std::endl;
monsoon::IOManager iom(1, true);

iom.scheduler(
[]
{
while (1)
{
sleep(6);
std::cout << "task 1 sleep for 6s" << std::endl;
}
});

iom.scheduler(
[]
{
while (1)
{
sleep(2);
std::cout << "task2 sleep for 2s" << std::endl;
}
});

std::cout << LOG_HEAD << "tid = " << monsoon::GetThreadId() << ",test_fiber_sleep finish" << std::endl;
void test_sleep() {
std::cout << LOG_HEAD << "tid = " << monsoon::GetThreadId() << ",test_fiber_sleep begin" << std::endl;
monsoon::IOManager iom(1, true);

iom.scheduler([] {
while (1) {
sleep(6);
std::cout << "task 1 sleep for 6s" << std::endl;
}
});

iom.scheduler([] {
while (1) {
sleep(2);
std::cout << "task2 sleep for 2s" << std::endl;
}
});

std::cout << LOG_HEAD << "tid = " << monsoon::GetThreadId() << ",test_fiber_sleep finish" << std::endl;
}

void test_sock()
{
int sock = socket(AF_INET, SOCK_STREAM, 0);
void test_sock() {
int sock = socket(AF_INET, SOCK_STREAM, 0);

sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(80);
inet_pton(AF_INET, "36.152.44.96", &addr.sin_addr.s_addr);
sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(80);
inet_pton(AF_INET, "36.152.44.96", &addr.sin_addr.s_addr);

std::cout << "begin connect" << std::endl;
int rt = connect(sock, (const sockaddr *)&addr, sizeof(addr));
std::cout << "connect rt=" << rt << " errno=" << errno << std::endl;
std::cout << "begin connect" << std::endl;
int rt = connect(sock, (const sockaddr *)&addr, sizeof(addr));
std::cout << "connect rt=" << rt << " errno=" << errno << std::endl;

if (rt)
{
return;
}
if (rt) {
return;
}

const char data[] = "GET / HTTP/1.0\r\n\r\n";
rt = send(sock, data, sizeof(data), 0);
std::cout << "send rt=" << rt << " errno=" << errno << std::endl;
const char data[] = "GET / HTTP/1.0\r\n\r\n";
rt = send(sock, data, sizeof(data), 0);
std::cout << "send rt=" << rt << " errno=" << errno << std::endl;

if (rt <= 0)
{
return;
}
if (rt <= 0) {
return;
}

std::string buff;
buff.resize(4096);
std::string buff;
buff.resize(4096);

rt = recv(sock, &buff[0], buff.size(), 0);
std::cout << "recv rt=" << rt << " errno=" << errno << std::endl;
rt = recv(sock, &buff[0], buff.size(), 0);
std::cout << "recv rt=" << rt << " errno=" << errno << std::endl;

if (rt <= 0)
{
return;
}
if (rt <= 0) {
return;
}

buff.resize(rt);
std::cout << "--------------------------------" << std::endl;
std::cout << buff << std::endl;
std::cout << "--------------------------------" << std::endl;
buff.resize(rt);
std::cout << "--------------------------------" << std::endl;
std::cout << buff << std::endl;
std::cout << "--------------------------------" << std::endl;
}

int main()
{
// monsoon::IOManager iom;
// iom.scheduler(test_sock);
int main() {
// monsoon::IOManager iom;
// iom.scheduler(test_sock);

test_sleep();
test_sleep();
}
Loading

0 comments on commit 15df1f8

Please sign in to comment.