root / scout / libscout / src / helper_classes / Order.cpp @ 9b4328d7
History | View | Annotate | Download (1.27 KB)
1 | 4469dadd | unknown | #include "Order.h" |
---|---|---|---|
2 | |||
3 | using namespace std; |
||
4 | |||
5 | 76cefba1 | Priya | /** @Brief: Regular order constructor */
|
6 | Order::Order(int order_id, Address order_source, Address order_dest, Time order_deadline, Time order_start_time, Path order_path, Time order_est_time)
|
||
7 | { |
||
8 | id = order_id; |
||
9 | source = order_source; |
||
10 | dest = order_dest; |
||
11 | start_time = order_start_time; |
||
12 | path = order_path; |
||
13 | est_time = order_est_time; |
||
14 | } |
||
15 | |||
16 | /** @Brief: Get order ID */
|
||
17 | int Order::getid() const |
||
18 | 4469dadd | unknown | { |
19 | 76cefba1 | Priya | return id;
|
20 | } |
||
21 | |||
22 | 9b4328d7 | Priya | Address Order::get_source() const
|
23 | 76cefba1 | Priya | { |
24 | return source;
|
||
25 | 4469dadd | unknown | } |
26 | |||
27 | 9b4328d7 | Priya | Address Order::get_dest() const
|
28 | 76cefba1 | Priya | { |
29 | return dest;
|
||
30 | 4469dadd | unknown | } |
31 | |||
32 | 9b4328d7 | Priya | Time Order::get_start_time() const
|
33 | 76cefba1 | Priya | { |
34 | return start_time;
|
||
35 | 4469dadd | unknown | } |
36 | |||
37 | 9b4328d7 | Priya | Path Order::get_path() const
|
38 | 76cefba1 | Priya | { |
39 | return path;
|
||
40 | } |
||
41 | 4469dadd | unknown | |
42 | 9b4328d7 | Priya | bool Order::operator==(Order& o1, Order& o2) |
43 | { |
||
44 | return o1.id == o2.id;
|
||
45 | } |
||
46 | |||
47 | void Order::set_path(Path order_path)
|
||
48 | 76cefba1 | Priya | { |
49 | path = order_path; |
||
50 | return;
|
||
51 | } |
||
52 | /** @Brief: Order comparison function for PQWrapper
|
||
53 | * NOTE: In order to have a min priority queue, using c++'s pq
|
||
54 | * implementation, the compare function must return true if
|
||
55 | * o1 is greater than o2.
|
||
56 | */
|
||
57 | bool CompareOrder::operator()(Order& o1, Order& o2) |
||
58 | { |
||
59 | int pq_value1 = o1.get_start_time + MAX_WAIT_TIME - o1.get_est_time();
|
||
60 | int pq_value2 = o2.get_start_time + MAX_WAIT_TIME - o2.get_est_time();
|
||
61 | return pq_value1 > pq_value2;
|
||
62 | 4469dadd | unknown | } |