|
|
|
@ -67,7 +67,7 @@ class ServerShutdownOp : public Op { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Local<Value> GetNodeValue() const { |
|
|
|
|
return Nan::New<External>(reinterpret_cast<void *>(server)); |
|
|
|
|
return Nan::Null(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ParseOp(Local<Value> value, grpc_op *out) { |
|
|
|
@ -77,6 +77,7 @@ class ServerShutdownOp : public Op { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
void OnComplete() { |
|
|
|
|
grpc_server_destroy(server); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
grpc_server *server; |
|
|
|
@ -96,13 +97,6 @@ NAN_METHOD(ServerShutdownCallback) { |
|
|
|
|
if (!info[0]->IsNull()) { |
|
|
|
|
return Nan::ThrowError("forceShutdown failed somehow"); |
|
|
|
|
} |
|
|
|
|
MaybeLocal<Object> maybe_result = Nan::To<Object>(info[1]); |
|
|
|
|
Local<Object> result = maybe_result.ToLocalChecked(); |
|
|
|
|
Local<Value> server_val = Nan::Get( |
|
|
|
|
result, Nan::New("shutdown").ToLocalChecked()).ToLocalChecked(); |
|
|
|
|
Local<External> server_extern = server_val.As<External>(); |
|
|
|
|
grpc_server *server = reinterpret_cast<grpc_server *>(server_extern->Value()); |
|
|
|
|
grpc_server_destroy(server); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Server::ShutdownServer() { |
|
|
|
|