Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 3.140.195.205
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
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
/
usr /
include /
nodejs /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
aliased_buffer.h
6.42
KB
-rw-r--r--
async_wrap-inl.h
3.33
KB
-rw-r--r--
async_wrap.h
9.16
KB
-rw-r--r--
base64.h
5.82
KB
-rw-r--r--
base_object-inl.h
4.02
KB
-rw-r--r--
base_object.h
4.43
KB
-rw-r--r--
connect_wrap.h
617
B
-rw-r--r--
connection_wrap.h
699
B
-rw-r--r--
debug_utils.h
4.29
KB
-rw-r--r--
env-inl.h
30.64
KB
-rw-r--r--
env.h
46.48
KB
-rw-r--r--
handle_wrap.h
3.91
KB
-rw-r--r--
inspector_agent.h
4.13
KB
-rw-r--r--
inspector_io.h
2.63
KB
-rw-r--r--
inspector_socket.h
1.46
KB
-rw-r--r--
inspector_socket_server.h
3.21
KB
-rw-r--r--
js_stream.h
1.58
KB
-rw-r--r--
memory_tracker-inl.h
10.83
KB
-rw-r--r--
memory_tracker.h
9.96
KB
-rw-r--r--
module_wrap.h
3.07
KB
-rw-r--r--
node.h
35.16
KB
-rw-r--r--
node_api.h
35.44
KB
-rw-r--r--
node_api_types.h
4.16
KB
-rw-r--r--
node_buffer.h
3.4
KB
-rw-r--r--
node_code_cache.h
432
B
-rw-r--r--
node_constants.h
3.11
KB
-rw-r--r--
node_context_data.h
1.14
KB
-rw-r--r--
node_contextify.h
4.81
KB
-rw-r--r--
node_counters.h
2.37
KB
-rw-r--r--
node_crypto.h
23.92
KB
-rw-r--r--
node_crypto_bio.h
5.44
KB
-rw-r--r--
node_crypto_clienthello-inl.h
2.62
KB
-rw-r--r--
node_crypto_clienthello.h
4
KB
-rw-r--r--
node_crypto_groups.h
23.12
KB
-rw-r--r--
node_dtrace.h
2.91
KB
-rw-r--r--
node_errors.h
6.06
KB
-rw-r--r--
node_file.h
10.16
KB
-rw-r--r--
node_http2.h
47.76
KB
-rw-r--r--
node_http2_state.h
4.72
KB
-rw-r--r--
node_i18n.h
2.4
KB
-rw-r--r--
node_internals.h
28.47
KB
-rw-r--r--
node_javascript.h
1.72
KB
-rw-r--r--
node_messaging.h
8.38
KB
-rw-r--r--
node_mutex.h
4.42
KB
-rw-r--r--
node_object_wrap.h
3.7
KB
-rw-r--r--
node_options-inl.h
14.78
KB
-rw-r--r--
node_options.h
12.25
KB
-rw-r--r--
node_perf.h
3.64
KB
-rw-r--r--
node_perf_common.h
3
KB
-rw-r--r--
node_persistent.h
936
B
-rw-r--r--
node_platform.h
5.14
KB
-rw-r--r--
node_revert.h
2.21
KB
-rw-r--r--
node_root_certs.h
223.29
KB
-rw-r--r--
node_stat_watcher.h
2.15
KB
-rw-r--r--
node_url.h
6.16
KB
-rw-r--r--
node_version.h
3.79
KB
-rw-r--r--
node_watchdog.h
3.03
KB
-rw-r--r--
node_win32_etw_provider-inl.h
11.67
KB
-rw-r--r--
node_win32_etw_provider.h
3.67
KB
-rw-r--r--
node_win32_perfctr_provider.h
2.14
KB
-rw-r--r--
node_worker.h
2.88
KB
-rw-r--r--
pipe_wrap.h
2.62
KB
-rw-r--r--
req_wrap-inl.h
5.44
KB
-rw-r--r--
req_wrap.h
1.87
KB
-rw-r--r--
sharedarraybuffer_metadata.h
2.34
KB
-rw-r--r--
spawn_sync.h
6.82
KB
-rw-r--r--
stream_base-inl.h
14.08
KB
-rw-r--r--
stream_base.h
13.46
KB
-rw-r--r--
stream_pipe.h
2
KB
-rw-r--r--
stream_wrap.h
4.03
KB
-rw-r--r--
string_bytes.h
5.14
KB
-rw-r--r--
string_decoder-inl.h
876
B
-rw-r--r--
string_decoder.h
1.5
KB
-rw-r--r--
string_search.h
20.53
KB
-rw-r--r--
tcp_wrap.h
3.59
KB
-rw-r--r--
tls_wrap.h
6.61
KB
-rw-r--r--
tty_wrap.h
2.22
KB
-rw-r--r--
udp_wrap.h
4.12
KB
-rw-r--r--
util-inl.h
14.06
KB
-rw-r--r--
util.h
15.9
KB
-rw-r--r--
v8abbr.h
5.03
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : memory_tracker-inl.h
#ifndef SRC_MEMORY_TRACKER_INL_H_ #define SRC_MEMORY_TRACKER_INL_H_ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #include "memory_tracker.h" namespace node { // Fallback edge_name if node_name is not available, or "" if edge_name // is not available either. inline const char* GetNodeName(const char* node_name, const char* edge_name) { if (node_name != nullptr) { return node_name; } if (edge_name != nullptr) { return edge_name; } return ""; } class MemoryRetainerNode : public v8::EmbedderGraph::Node { public: inline MemoryRetainerNode(MemoryTracker* tracker, const MemoryRetainer* retainer) : retainer_(retainer) { CHECK_NOT_NULL(retainer_); v8::HandleScope handle_scope(tracker->isolate()); v8::Local<v8::Object> obj = retainer_->WrappedObject(); if (!obj.IsEmpty()) wrapper_node_ = tracker->graph()->V8Node(obj); name_ = retainer_->MemoryInfoName(); size_ = retainer_->SelfSize(); } inline MemoryRetainerNode(MemoryTracker* tracker, const char* name, size_t size, bool is_root_node = false) : retainer_(nullptr) { name_ = name; size_ = size; is_root_node_ = is_root_node; } const char* Name() override { return name_.c_str(); } const char* NamePrefix() override { return "Node /"; } size_t SizeInBytes() override { return size_; } // TODO(addaleax): Merging this with the "official" WrapperNode() method // seems to lose accuracy, e.g. SizeInBytes() is disregarded. // Figure out whether to do anything about that. Node* JSWrapperNode() { return wrapper_node_; } bool IsRootNode() override { if (retainer_ != nullptr) { return retainer_->IsRootNode(); } return is_root_node_; } private: friend class MemoryTracker; // If retainer_ is not nullptr, then it must have a wrapper_node_, // and we have // name_ == retainer_->MemoryInfoName() // size_ == retainer_->SelfSize() // is_root_node_ == retainer_->IsRootNode() const MemoryRetainer* retainer_; Node* wrapper_node_ = nullptr; // Otherwise (retainer == nullptr), we set these fields in an ad-hoc way bool is_root_node_ = false; std::string name_; size_t size_ = 0; }; void MemoryTracker::TrackFieldWithSize(const char* edge_name, size_t size, const char* node_name) { if (size > 0) AddNode(GetNodeName(node_name, edge_name), size, edge_name); } void MemoryTracker::TrackField(const char* edge_name, const MemoryRetainer& value, const char* node_name) { TrackField(edge_name, &value); } void MemoryTracker::TrackField(const char* edge_name, const MemoryRetainer* value, const char* node_name) { if (value == nullptr) return; auto it = seen_.find(value); if (it != seen_.end()) { // For ABI compatibility, we did not backport the virtual function // AddEdge() with a name as last argument back to v10.x. graph_->AddEdge(CurrentNode(), it->second/*, edge_name */); } else { Track(value, edge_name); } } template <typename T> void MemoryTracker::TrackField(const char* edge_name, const std::unique_ptr<T>& value, const char* node_name) { if (value.get() == nullptr) { return; } TrackField(edge_name, value.get(), node_name); } template <typename T, typename Iterator> void MemoryTracker::TrackField(const char* edge_name, const T& value, const char* node_name, const char* element_name, bool subtract_from_self) { // If the container is empty, the size has been accounted into the parent's // self size if (value.begin() == value.end()) return; // Fall back to edge name if node names are not provided if (CurrentNode() != nullptr && subtract_from_self) { // Shift the self size of this container out to a separate node CurrentNode()->size_ -= sizeof(T); } PushNode(GetNodeName(node_name, edge_name), sizeof(T), edge_name); for (Iterator it = value.begin(); it != value.end(); ++it) { // Use nullptr as edge names so the elements appear as indexed properties TrackField(nullptr, *it, element_name); } PopNode(); } template <typename T> void MemoryTracker::TrackField(const char* edge_name, const std::queue<T>& value, const char* node_name, const char* element_name) { struct ContainerGetter : public std::queue<T> { static const typename std::queue<T>::container_type& Get( const std::queue<T>& value) { return value.*&ContainerGetter::c; } }; const auto& container = ContainerGetter::Get(value); TrackField(edge_name, container, node_name, element_name); } template <typename T, typename test_for_number, typename dummy> void MemoryTracker::TrackField(const char* edge_name, const T& value, const char* node_name) { // For numbers, creating new nodes is not worth the overhead. CurrentNode()->size_ += sizeof(T); } template <typename T, typename U> void MemoryTracker::TrackField(const char* edge_name, const std::pair<T, U>& value, const char* node_name) { PushNode(node_name == nullptr ? "pair" : node_name, sizeof(const std::pair<T, U>), edge_name); // TODO(joyeecheung): special case if one of these is a number type // that meets the test_for_number trait so that their sizes don't get // merged into the pair node TrackField("first", value.first); TrackField("second", value.second); PopNode(); } template <typename T> void MemoryTracker::TrackField(const char* edge_name, const std::basic_string<T>& value, const char* node_name) { TrackFieldWithSize(edge_name, value.size() * sizeof(T), "std::basic_string"); } template <typename T, typename Traits> void MemoryTracker::TrackField(const char* edge_name, const v8::Persistent<T, Traits>& value, const char* node_name) { TrackField(edge_name, value.Get(isolate_)); } template <typename T> void MemoryTracker::TrackField(const char* edge_name, const v8::Local<T>& value, const char* node_name) { if (!value.IsEmpty()) { // For ABI compatibility, we did not backport the virtual function // AddEdge() with a name as last argument back to v10.x. graph_->AddEdge(CurrentNode(), graph_->V8Node(value)/*, edge_name */); } } template <typename T> void MemoryTracker::TrackField(const char* edge_name, const MallocedBuffer<T>& value, const char* node_name) { TrackFieldWithSize(edge_name, value.size, "MallocedBuffer"); } void MemoryTracker::TrackField(const char* name, const uv_buf_t& value, const char* node_name) { TrackFieldWithSize(name, value.len, "uv_buf_t"); } void MemoryTracker::TrackField(const char* name, const uv_timer_t& value, const char* node_name) { TrackFieldWithSize(name, sizeof(value), "uv_timer_t"); } void MemoryTracker::TrackField(const char* name, const uv_async_t& value, const char* node_name) { TrackFieldWithSize(name, sizeof(value), "uv_async_t"); } template <class NativeT, class V8T> void MemoryTracker::TrackField(const char* name, const AliasedBuffer<NativeT, V8T>& value, const char* node_name) { TrackField(name, value.GetJSArray(), "AliasedBuffer"); } void MemoryTracker::Track(const MemoryRetainer* retainer, const char* edge_name) { v8::HandleScope handle_scope(isolate_); auto it = seen_.find(retainer); if (it != seen_.end()) { if (CurrentNode() != nullptr) { // For ABI compatibility, we did not backport the virtual function // AddEdge() with a name as last argument back to v10.x. graph_->AddEdge(CurrentNode(), it->second/*, edge_name */); } return; // It has already been tracked, no need to call MemoryInfo again } MemoryRetainerNode* n = PushNode(retainer, edge_name); retainer->MemoryInfo(this); CHECK_EQ(CurrentNode(), n); CHECK_NE(n->size_, 0); PopNode(); } MemoryRetainerNode* MemoryTracker::CurrentNode() const { if (node_stack_.empty()) return nullptr; return node_stack_.top(); } MemoryRetainerNode* MemoryTracker::AddNode(const MemoryRetainer* retainer, const char* edge_name) { auto it = seen_.find(retainer); if (it != seen_.end()) { return it->second; } MemoryRetainerNode* n = new MemoryRetainerNode(this, retainer); graph_->AddNode(std::unique_ptr<v8::EmbedderGraph::Node>(n)); seen_[retainer] = n; if (CurrentNode() != nullptr) { // For ABI compatibility, we did not backport the virtual function // AddEdge() with a name as last argument back to v10.x. graph_->AddEdge(CurrentNode(), n/*, edge_name */); } if (n->JSWrapperNode() != nullptr) { graph_->AddEdge(n, n->JSWrapperNode()/*, "wrapped" */); graph_->AddEdge(n->JSWrapperNode(), n/*, "wrapper" */); } return n; } MemoryRetainerNode* MemoryTracker::AddNode(const char* node_name, size_t size, const char* edge_name) { MemoryRetainerNode* n = new MemoryRetainerNode(this, node_name, size); graph_->AddNode(std::unique_ptr<v8::EmbedderGraph::Node>(n)); if (CurrentNode() != nullptr) { // For ABI compatibility, we did not backport the virtual function // AddEdge() with a name as last argument back to v10.x. graph_->AddEdge(CurrentNode(), n/*, edge_name*/); } return n; } MemoryRetainerNode* MemoryTracker::PushNode(const MemoryRetainer* retainer, const char* edge_name) { MemoryRetainerNode* n = AddNode(retainer, edge_name); node_stack_.push(n); return n; } MemoryRetainerNode* MemoryTracker::PushNode(const char* node_name, size_t size, const char* edge_name) { MemoryRetainerNode* n = AddNode(node_name, size, edge_name); node_stack_.push(n); return n; } void MemoryTracker::PopNode() { node_stack_.pop(); } } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #endif // SRC_MEMORY_TRACKER_INL_H_
Close