1
0
mirror of https://github.com/tearshark/librf.git synced 2024-10-02 00:00:11 +08:00
librf/vs_proj/librf.cpp

81 lines
2.5 KiB
C++
Raw Normal View History

2019-04-25 11:35:23 +08:00

2017-09-24 14:01:30 +08:00
#include "librf.h"
2020-02-15 13:32:14 +08:00
#include <optional>
2017-09-24 14:01:30 +08:00
//#define _WITH_LOCK_FREE_Q_KEEP_REAL_SIZE 1
#include "src/ring_queue.h"
#include "src/ring_queue_spinlock.h"
#include "src/ring_queue_lockfree.h"
#include "../tutorial/test_ring_queue.h"
2017-09-24 14:01:30 +08:00
extern void resumable_main_yield_return();
extern void resumable_main_timer();
extern void resumable_main_suspend_always();
extern void resumable_main_sleep();
extern void resumable_main_routine();
extern void resumable_main_resumable();
extern void resumable_main_mutex();
extern void resumable_main_exception();
extern void resumable_main_event();
extern void resumable_main_event_v2();
2017-09-24 14:01:30 +08:00
extern void resumable_main_event_timeout();
extern void resumable_main_dynamic_go();
extern void resumable_main_channel();
extern void resumable_main_cb();
2019-04-21 09:05:04 +08:00
extern void resumable_main_modern_cb();
2017-10-01 10:33:08 +08:00
extern void resumable_main_multi_thread();
extern void resumable_main_channel_mult_thread();
2018-03-27 00:34:31 +08:00
extern void resumable_main_when_all();
2020-02-19 16:05:19 +08:00
extern void resumable_main_layout();
extern void resumable_main_switch_scheduler();
2017-09-24 14:01:30 +08:00
extern void resumable_main_benchmark_mem(bool wait_key);
extern void benchmark_main_channel_passing_next();
extern void resumable_main_benchmark_asio_server();
extern void resumable_main_benchmark_asio_client(intptr_t nNum);
2017-09-24 14:36:36 +08:00
2019-10-09 09:43:10 +08:00
int main(int argc, const char* argv[])
2017-09-24 14:01:30 +08:00
{
(void)argc;
(void)argv;
2020-03-09 14:23:35 +08:00
//test_ring_queue_simple<resumef::ring_queue<int>>();
//test_ring_queue<resumef::ring_queue_spinlock<int, false, uint32_t>>();
//test_ring_queue<resumef::ring_queue_lockfree<int, uint64_t>>();
2020-03-10 21:31:05 +08:00
resumable_main_event_v2();
return 0;
2020-02-18 11:32:20 +08:00
//if (argc > 1)
// resumable_main_benchmark_asio_client(atoi(argv[1]));
//else
// resumable_main_benchmark_asio_server();
2020-02-16 13:20:20 +08:00
resumable_main_cb();
resumable_main_layout();
resumable_main_modern_cb();
resumable_main_suspend_always();
resumable_main_yield_return();
2020-03-01 13:17:04 +08:00
resumable_main_resumable();
resumable_main_routine();
resumable_main_exception();
resumable_main_dynamic_go();
2020-03-01 13:17:04 +08:00
resumable_main_multi_thread();
resumable_main_timer();
resumable_main_benchmark_mem(false);
resumable_main_mutex();
resumable_main_event();
2020-03-10 21:31:05 +08:00
resumable_main_event_v2();
resumable_main_event_timeout();
resumable_main_channel();
resumable_main_channel_mult_thread();
resumable_main_sleep();
resumable_main_when_all();
resumable_main_switch_scheduler();
std::cout << "ALL OK!" << std::endl;
2020-03-01 13:17:04 +08:00
benchmark_main_channel_passing_next(); //这是一个死循环测试
2017-09-24 14:01:30 +08:00
return 0;
}