server
2015-12-10 12:40:30 0 举报
服务器是一种计算机设备,它存储、处理和传输数据,为其他计算机或设备提供资源和服务。它是网络中的核心组件,负责管理和协调网络上的各种活动。服务器通常具有高性能的处理器、大量的内存和存储空间,以及强大的数据处理能力。它们可以运行各种操作系统和应用程序,如数据库管理系统、文件服务器、邮件服务器等。服务器可以是物理设备,也可以是虚拟化技术创建的虚拟机。它们可以通过有线或无线网络连接到其他设备,实现数据的共享和访问。服务器在企业、政府、教育等领域发挥着重要作用,支持着各种关键业务和应用。
作者其他创作
大纲/内容
response_writer
+ _se:socket_event
+ response_writer(socket_event)- write(http_response):int
buffer
+ _data:usigned char+ _compacity:int- _used_size:int- _begin:int
event_handler
+ virtual handler_event(socket_event):int
work_thread
+ :type = defaultValue+ attribute2:type- attribute3:type
+ work_thread():set event_manager- get_event_manager():event_manager- thread_func():int
thread_pool
+ *_worker:worker+ _task_queue:queue- _thread_list:list- _number_of_worker_threads:int- _number_of_free_work_threads:int- _max_number_of_threads:int- _task_mutex:mutex- _task_event:event- _number_lock:spin_lock
+ thread_pool()- ~thread_pool()- set_max_threads(int)- get_task():ttask- add_task(task):int- set_worker(worker):int- new_worker():worker- delete_worker(worker):int0 kill(pthread):int
event_manager_impl_epoll
+ max_number_of_events:int = MAX_CONNECTIONS+ _epfd:int- _event_pool:event_pool
+ event_manager_impl_epool()- register_event(socket_event):int- unregister_event(socket_event):int- get_event():socket_event- wait_for_events():int //实现了对每个到达事件的监听和处理
task
+ virtual ~task()- start(thread_pooll):int- virtual excute(worker):int
read_event_handler
+ handle_event(socket_event):int- virtual read(socket_event):int
socket_event
+ enum:event_type_t+ event_type:_type- _slot:int- _io_handle: int- *_event_handler: event_handler- *_event_manager: event_manager
+ socket_event(event_type)- ~socket_event()- set_event_handler(evenet_handler)- get_event_handler():evant_handler- get_handler(): int- get_slot(): int- set_slot(int):int- get_type():int- get_event_manager():event_manager- set_event_manager(event_manager)- unregister(): int
pool_work_thread
+ _tp:tthread_pool+ _wkr:worker
+ pool_work_thread(thread_pool)- ~pool_work_thread()- stop()- thread_func():int
server
+ _addr:address = defaultValue+ *_listener_handler:event_handler+ _event_manager:event_manager+ _evt_read_buffer:buffer
+ server():_event_manager (event_manager_impl_epoll)- ~server()- set_listener_address(address)- set_listener_handler(event_handler)- add_client_socket_event(socket_event):int- remove_client_socket_event(socket_event):int- start():int 创建listener-get_buffer(): buffer
http_request
event_manger_impl
+ *_svr:server
+ virtual ~event_manager_impl()- virtual register_event(socket_event):int- virtual unregister_event(socket_event):int- virtual get_event():socket_event- set_server(server)- get_server():server
event_manager
+ *_imp:event_manager_imp
+ event_manger(event_manager_impl)- ~event_manager()- register_event(socket_event):int- unregiser_event(socket_event):int- get_event():socket_event- start_event_loop()
event_pool
+ _number_of_slots:int = MAX_CONNETCTIONS+ event_slots:socket_event[]- attribute3:type
+ event_pool()- ~event()- find_by_slot(int):socket_event- insert(socket_event):int- remove_by_slot(int):int- remove(socket_event):int- get_next_empty_slot():int- get_mark_index_of_slot(int):int
http_response
listerner_handler
+ _svr:thread_server2+ _event_manager:event_manager
+ set_server(thread_server2)- handle_event(socket_event):int
worker
+ _tp:thread_pool+ _stoped:bool
+ woker()- ~worker()- set_thread_pool(thread_pool)- work():int- stop()- virtual clone():worker
write_event_handler
+ handler_event():int
http_server
+ _number_of_slots:int = MAX_CONNECTIONS+ event_slots:socket_event[]- _slot_use_marks:int[]- _mark_index_of_slot:int[]- number_of_used_slot:int
+ event_pool()- ~event_pool()- find_by_slot(int):socket_event- insert(socket_event):int- remove_by_slot(int):int- remove(socket_event):int- get_next_empty_slot():int- get_mark_index_of_slot(int):int
thread_server2
+ _work_thread_number:int+ _work_threads:vector
+ thread_server2()- set_work_thread_number(int)- start():int- wait():int- stop():int- thread_func():int- virtual handle_clinet_event(socket_event):int
pthread
+ _tid:pthread_t+ _attr:pthread_attr_t- attribute3:type
+ *_func(*obj)- this_thread)id():int- pthread()- ~pthread()- start():int- kill():int- wait():int- virtual thread_func():int- get_thread_id():int
path_and_handler
+ path:string+ hdr:path_handler
client_handler
+ _svr:thread_server2
+ clinet_event_handler(thread_server2)- handle_event(socket_event):int
0 条评论
下一页