mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-24 21:40:16 +00:00
up
This commit is contained in:
parent
d954e74188
commit
46230f4225
@ -233,7 +233,7 @@ import json as _json
|
|||||||
|
|
||||||
def jsonrpc(method, params, raw=False):
|
def jsonrpc(method, params, raw=False):
|
||||||
assert type(method) is str
|
assert type(method) is str
|
||||||
assert type(params) is list
|
assert type(params) is list or type(params) is tuple
|
||||||
data = {
|
data = {
|
||||||
'jsonrpc': '2.0',
|
'jsonrpc': '2.0',
|
||||||
'method': method,
|
'method': method,
|
||||||
|
|||||||
@ -51,7 +51,7 @@ void _tvm_dispatch(ThreadedVM* vm){
|
|||||||
ss << '{';
|
ss << '{';
|
||||||
ss << "\"result\": " << _Str(line).__escape(false);
|
ss << "\"result\": " << _Str(line).__escape(false);
|
||||||
ss << '}';
|
ss << '}';
|
||||||
pkpy_tvm_jsonrpc_response(vm, ss.str().c_str());
|
pkpy_tvm_write_jsonrpc_response(vm, ss.str().c_str());
|
||||||
}else{
|
}else{
|
||||||
std::cout << "unknown jsonrpc call" << std::endl;
|
std::cout << "unknown jsonrpc call" << std::endl;
|
||||||
std::cout << obj << std::endl;
|
std::cout << obj << std::endl;
|
||||||
|
|||||||
@ -830,14 +830,14 @@ extern "C" {
|
|||||||
__EXPORT
|
__EXPORT
|
||||||
/// Read the current JSONRPC request from shared string buffer.
|
/// Read the current JSONRPC request from shared string buffer.
|
||||||
char* pkpy_tvm_read_jsonrpc_request(ThreadedVM* vm){
|
char* pkpy_tvm_read_jsonrpc_request(ThreadedVM* vm){
|
||||||
_Str s = vm->readSharedStr();
|
_Str s = vm->readJsonRpcRequest();
|
||||||
return strdup(s.c_str());
|
return strdup(s.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
__EXPORT
|
__EXPORT
|
||||||
/// Write a JSONRPC response to shared string buffer.
|
/// Write a JSONRPC response to shared string buffer.
|
||||||
void pkpy_tvm_jsonrpc_response(ThreadedVM* vm, const char* value){
|
void pkpy_tvm_write_jsonrpc_response(ThreadedVM* vm, const char* value){
|
||||||
vm->jsonrpcResponse(value);
|
vm->writeJsonrpcResponse(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
__EXPORT
|
__EXPORT
|
||||||
|
|||||||
6
src/vm.h
6
src/vm.h
@ -1103,7 +1103,7 @@ public:
|
|||||||
ThreadedVM* tvm = (ThreadedVM*)vm;
|
ThreadedVM* tvm = (ThreadedVM*)vm;
|
||||||
tvm->_sharedStr = data;
|
tvm->_sharedStr = data;
|
||||||
tvm->suspend();
|
tvm->suspend();
|
||||||
return tvm->PyStr(tvm->readSharedStr());
|
return tvm->PyStr(tvm->readJsonRpcRequest());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1124,7 +1124,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_Str readSharedStr(){
|
_Str readJsonRpcRequest(){
|
||||||
_Str copy = _sharedStr;
|
_Str copy = _sharedStr;
|
||||||
_sharedStr = ""_c;
|
_sharedStr = ""_c;
|
||||||
return copy;
|
return copy;
|
||||||
@ -1136,7 +1136,7 @@ public:
|
|||||||
return _state;
|
return _state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void jsonrpcResponse(const char* value){
|
void writeJsonrpcResponse(const char* value){
|
||||||
if(_state != THREAD_SUSPENDED) UNREACHABLE();
|
if(_state != THREAD_SUSPENDED) UNREACHABLE();
|
||||||
_state = THREAD_RUNNING;
|
_state = THREAD_RUNNING;
|
||||||
_sharedStr = _Str(value);
|
_sharedStr = _Str(value);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user