mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes
m::wasm::detail::V8InspectorClientImpl Struct Reference

#include <V8Engine.hpp>

Inheritance diagram for m::wasm::detail::V8InspectorClientImpl:
[legend]
Collaboration diagram for m::wasm::detail::V8InspectorClientImpl:
[legend]

Public Member Functions

 V8InspectorClientImpl (int16_t port, v8::Isolate *isolate)
 
 V8InspectorClientImpl (const V8InspectorClientImpl &)=delete
 
 ~V8InspectorClientImpl ()
 
void start (std::function< void(void)> code)
 
void register_context (v8::Local< v8::Context > context)
 Register the context object in the V8Inspector instance.
 
void deregister_context (v8::Local< v8::Context > context)
 Deregister the context object in the V8Inspector instance.
 
void on_message (std::string_view sv)
 
void runMessageLoopOnPause (int) override
 Synchronously consume all front end (CDT) debugging messages.
 
void quitMessageLoopOnPause () override
 Called by V8 when no more inspector messages are pending.
 
void waitFrontendMessageOnPause ()
 

Private Attributes

v8::Isolate * isolate_ = nullptr
 
WebSocketServer server_
 
std::unique_ptr< WebSocketServer::Connectionconn_
 
std::unique_ptr< WebSocketChannelchannel_
 
std::unique_ptr< v8_inspector::V8Inspector > inspector_
 
std::unique_ptr< v8_inspector::V8InspectorSession > session_
 
std::function< void(void)> code_
 the code to execute in the debugger
 
bool is_terminated_ = true
 

Detailed Description

Definition at line 35 of file V8Engine.hpp.

Constructor & Destructor Documentation

◆ V8InspectorClientImpl() [1/2]

V8InspectorClientImpl::V8InspectorClientImpl ( int16_t  port,
v8::Isolate *  isolate 
)

Definition at line 154 of file V8Engine.cpp.

References m::WebSocketServer::await(), channel_, conn_, inspector_, isolate_, server_, and session_.

◆ V8InspectorClientImpl() [2/2]

m::wasm::detail::V8InspectorClientImpl::V8InspectorClientImpl ( const V8InspectorClientImpl )
delete

◆ ~V8InspectorClientImpl()

m::wasm::detail::V8InspectorClientImpl::~V8InspectorClientImpl ( )
inline

Definition at line 51 of file V8Engine.hpp.

References channel_, conn_, inspector_, and session_.

Member Function Documentation

◆ deregister_context()

void V8InspectorClientImpl::deregister_context ( v8::Local< v8::Context >  context)

Deregister the context object in the V8Inspector instance.

Definition at line 184 of file V8Engine.cpp.

References inspector_.

Referenced by m::wasm::detail::run_inspector().

◆ on_message()

void V8InspectorClientImpl::on_message ( std::string_view  sv)

Definition at line 189 of file V8Engine.cpp.

References code_, isolate_, session_, and waitFrontendMessageOnPause().

◆ quitMessageLoopOnPause()

void m::wasm::detail::V8InspectorClientImpl::quitMessageLoopOnPause ( )
inlineoverride

Called by V8 when no more inspector messages are pending.

Definition at line 75 of file V8Engine.hpp.

References is_terminated_.

◆ register_context()

void V8InspectorClientImpl::register_context ( v8::Local< v8::Context >  context)

Register the context object in the V8Inspector instance.

Definition at line 178 of file V8Engine.cpp.

References inspector_.

Referenced by m::wasm::detail::run_inspector().

◆ runMessageLoopOnPause()

void V8InspectorClientImpl::runMessageLoopOnPause ( int  )
override

Synchronously consume all front end (CDT) debugging messages.

Definition at line 213 of file V8Engine.cpp.

References m::wasm::and, conn_, is_terminated_, and isolate_.

◆ start()

void m::wasm::detail::V8InspectorClientImpl::start ( std::function< void(void)>  code)
inline

Definition at line 58 of file V8Engine.hpp.

References code_, and conn_.

Referenced by m::wasm::detail::run_inspector().

◆ waitFrontendMessageOnPause()

void m::wasm::detail::V8InspectorClientImpl::waitFrontendMessageOnPause ( )
inline

Definition at line 77 of file V8Engine.hpp.

References is_terminated_.

Referenced by on_message().

Field Documentation

◆ channel_

std::unique_ptr<WebSocketChannel> m::wasm::detail::V8InspectorClientImpl::channel_
private

Definition at line 41 of file V8Engine.hpp.

Referenced by V8InspectorClientImpl(), and ~V8InspectorClientImpl().

◆ code_

std::function<void(void)> m::wasm::detail::V8InspectorClientImpl::code_
private

the code to execute in the debugger

Definition at line 44 of file V8Engine.hpp.

Referenced by on_message(), and start().

◆ conn_

std::unique_ptr<WebSocketServer::Connection> m::wasm::detail::V8InspectorClientImpl::conn_
private

◆ inspector_

std::unique_ptr<v8_inspector::V8Inspector> m::wasm::detail::V8InspectorClientImpl::inspector_
private

◆ is_terminated_

bool m::wasm::detail::V8InspectorClientImpl::is_terminated_ = true
private

◆ isolate_

v8::Isolate* m::wasm::detail::V8InspectorClientImpl::isolate_ = nullptr
private

Definition at line 38 of file V8Engine.hpp.

Referenced by on_message(), runMessageLoopOnPause(), and V8InspectorClientImpl().

◆ server_

WebSocketServer m::wasm::detail::V8InspectorClientImpl::server_
private

Definition at line 39 of file V8Engine.hpp.

Referenced by V8InspectorClientImpl().

◆ session_

std::unique_ptr<v8_inspector::V8InspectorSession> m::wasm::detail::V8InspectorClientImpl::session_
private

Definition at line 43 of file V8Engine.hpp.

Referenced by on_message(), V8InspectorClientImpl(), and ~V8InspectorClientImpl().


The documentation for this struct was generated from the following files: