2
2
#define RAY_CORE_WORKER_CORE_WORKER_H
3
3
4
4
#include " common.h"
5
+ #include " context.h"
5
6
#include " object_interface.h"
6
7
#include " ray/common/buffer.h"
8
+ #include " ray/raylet/raylet_client.h"
7
9
#include " task_execution.h"
8
10
#include " task_interface.h"
9
11
@@ -18,15 +20,12 @@ class CoreWorker {
18
20
// /
19
21
// / \param[in] worker_type Type of this worker.
20
22
// / \param[in] langauge Language of this worker.
21
- CoreWorker (const WorkerType worker_type, const Language language)
22
- : worker_type_(worker_type),
23
- language_ (language),
24
- task_interface_(*this ),
25
- object_interface_(*this ),
26
- task_execution_interface_(*this ) {}
23
+ CoreWorker (const WorkerType worker_type, const Language language,
24
+ const std::string &store_socket, const std::string &raylet_socket,
25
+ DriverID driver_id = DriverID::Nil());
27
26
28
- // / Connect this worker to Raylet .
29
- Status Connect () { return Status::OK (); }
27
+ // / Connect to raylet .
28
+ Status Connect ();
30
29
31
30
// / Type of this worker.
32
31
enum WorkerType WorkerType () const { return worker_type_; }
@@ -53,6 +52,21 @@ class CoreWorker {
53
52
// / Language of this worker.
54
53
const enum Language language_;
55
54
55
+ // / Worker context per thread.
56
+ WorkerContext worker_context_;
57
+
58
+ // / Plasma store socket name.
59
+ std::string store_socket_;
60
+
61
+ // / raylet socket name.
62
+ std::string raylet_socket_;
63
+
64
+ // / Plasma store client.
65
+ plasma::PlasmaClient store_client_;
66
+
67
+ // / Raylet client.
68
+ std::unique_ptr<RayletClient> raylet_client_;
69
+
56
70
// / The `CoreWorkerTaskInterface` instance.
57
71
CoreWorkerTaskInterface task_interface_;
58
72
@@ -61,6 +75,10 @@ class CoreWorker {
61
75
62
76
// / The `CoreWorkerTaskExecutionInterface` instance.
63
77
CoreWorkerTaskExecutionInterface task_execution_interface_;
78
+
79
+ friend class CoreWorkerTaskInterface ;
80
+ friend class CoreWorkerObjectInterface ;
81
+ friend class CoreWorkerTaskExecutionInterface ;
64
82
};
65
83
66
84
} // namespace ray
0 commit comments