Hackfut Security File Manager
Current Path:
/opt/alt/php74/usr/include/php/ext/swoole/include
opt
/
alt
/
php74
/
usr
/
include
/
php
/
ext
/
swoole
/
include
/
📁
..
📄
array.h
(2.05 KB)
📄
asm_context.h
(1.47 KB)
📄
async.h
(2.48 KB)
📄
atomic.h
(2.19 KB)
📄
base64.h
(1.34 KB)
📄
buffer.h
(2.19 KB)
📄
client.h
(5 KB)
📄
connection.h
(7.89 KB)
📄
context.h
(3.13 KB)
📄
coroutine.h
(6.08 KB)
📄
coroutine_c_api.h
(3.18 KB)
📄
coroutine_channel.h
(2.9 KB)
📄
coroutine_cxx_api.h
(1.27 KB)
📄
coroutine_socket.h
(15.23 KB)
📄
coroutine_system.h
(2.07 KB)
📄
error.h
(4.45 KB)
📄
file_hook.h
(2.1 KB)
📄
hash.h
(7.22 KB)
📄
hashmap.h
(2.38 KB)
📄
heap.h
(1.83 KB)
📄
http.h
(4.45 KB)
📄
http2.h
(6.41 KB)
📄
list.h
(54.57 KB)
📄
lru_cache.h
(2.29 KB)
📄
mime_types.h
(331 B)
📄
mqtt.h
(2.12 KB)
📄
rbtree.h
(2.19 KB)
📄
redis.h
(2.01 KB)
📄
ring_queue.h
(1.82 KB)
📄
server.h
(28.1 KB)
📄
sha1.h
(2.17 KB)
📄
socket_hook.h
(2.01 KB)
📄
socks5.h
(1.97 KB)
📄
swoole.h
(62.93 KB)
📄
swoole_api.h
(2.29 KB)
📄
swoole_config.h
(9.83 KB)
📄
swoole_cxx.h
(1.8 KB)
📄
table.h
(5.44 KB)
📄
uthash.h
(58.8 KB)
📄
websocket.h
(5.1 KB)
Editing: swoole_cxx.h
#pragma once #include "swoole.h" #include <list> #include <memory> #include <string> #include <cstdio> namespace swoole { //------------------------------------------------------------------------------- namespace cpp_string { template<typename ...Args> inline std::string format(const char *format, Args ...args) { size_t size = snprintf(nullptr, 0, format, args...) + 1; // Extra space for '\0' std::unique_ptr<char[]> buf(new char[size]); snprintf(buf.get(), size, format, args...); return std::string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside } inline std::string vformat(const char *format, va_list args) { va_list _args; va_copy(_args, args); size_t size = vsnprintf(nullptr, 0, format, _args) + 1; // Extra space for '\0' va_end(_args); std::unique_ptr<char[]> buf(new char[size]); vsnprintf(buf.get(), size, format, args); return std::string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside } } struct Callback { swCallback callback; void *private_data; Callback(swCallback cb, void *_private_data) { callback = cb; private_data = _private_data; } }; class CallbackManager { public: inline void append(swCallback cb, void *private_data) { list_.push_back(new Callback(cb, private_data)); } inline void prepend(swCallback cb, void *private_data) { list_.push_front(new Callback(cb, private_data)); } inline void execute() { while (!list_.empty()) { Callback *task = list_.front(); list_.pop_front(); task->callback(task->private_data); delete task; } } protected: std::list<Callback *> list_; }; //------------------------------------------------------------------------------- }
Upload File
Create Folder