Skip to content

Commit ea1be7f

Browse files
committed
add virtual function
1 parent d2419b3 commit ea1be7f

File tree

2 files changed

+38
-25
lines changed

2 files changed

+38
-25
lines changed

examples/server/server.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1592,13 +1592,13 @@ struct server_context {
15921592
const double t_save_ms = (t_end - t_start) / 1000.0;
15931593

15941594
server_task_result_slot_save_load result;
1595-
result.id = task.id;
1596-
result.id_slot = id_slot;
1597-
result.filename = filename;
1598-
result.is_save = true;
1599-
result.n_saved = token_count;
1600-
result.n_written = nwrite;
1601-
result.t_ms = t_save_ms;
1595+
result.id = task.id;
1596+
result.id_slot = id_slot;
1597+
result.filename = filename;
1598+
result.is_save = true;
1599+
result.n_tokens = token_count;
1600+
result.n_bytes = nwrite;
1601+
result.t_ms = t_save_ms;
16021602
queue_results.send(result);
16031603
} break;
16041604
case SERVER_TASK_TYPE_SLOT_RESTORE:
@@ -1635,13 +1635,13 @@ struct server_context {
16351635
const double t_restore_ms = (t_end - t_start) / 1000.0;
16361636

16371637
server_task_result_slot_save_load result;
1638-
result.id = task.id;
1639-
result.id_slot = id_slot;
1640-
result.filename = filename;
1641-
result.is_save = false;
1642-
result.n_restored = token_count;
1643-
result.n_read = nread;
1644-
result.t_ms = t_restore_ms;
1638+
result.id = task.id;
1639+
result.id_slot = id_slot;
1640+
result.filename = filename;
1641+
result.is_save = false;
1642+
result.n_tokens = token_count;
1643+
result.n_bytes = nread;
1644+
result.t_ms = t_restore_ms;
16451645
queue_results.send(result);
16461646
} break;
16471647
case SERVER_TASK_TYPE_SLOT_ERASE:

examples/server/server.hpp

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
using json = nlohmann::ordered_json;
1717

1818
// cast a shared_ptr to a specific type using copy constructor
19-
#define copy_cast_ptr(TYPEOUT, ptr) *(static_cast<TYPEOUT*>(ptr.get()))
19+
#define copy_cast_ptr(TYPEOUT, ptr) *(static_cast<TYPEOUT*>(ptr.get()));
2020

2121
enum stop_type {
2222
STOP_TYPE_NONE,
@@ -210,6 +210,7 @@ struct server_task_result {
210210
int id_slot = -1;
211211
server_task_result() = default;
212212
server_task_result(result_type type) : type(type) {}
213+
virtual ~server_task_result() = default;
213214
};
214215

215216
inline std::string stop_type_to_str(stop_type type) {
@@ -276,6 +277,8 @@ struct server_task_result_cmpl_final : server_task_result {
276277
static server_task_result_cmpl_final from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
277278
return copy_cast_ptr(server_task_result_cmpl_final, result_ptr);
278279
}
280+
281+
virtual ~server_task_result_cmpl_final() = default;
279282
};
280283

281284
struct server_task_result_cmpl_partial : server_task_result {
@@ -316,6 +319,8 @@ struct server_task_result_cmpl_partial : server_task_result {
316319
static server_task_result_cmpl_partial from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
317320
return copy_cast_ptr(server_task_result_cmpl_partial, result_ptr);
318321
}
322+
323+
virtual ~server_task_result_cmpl_partial() = default;
319324
};
320325

321326
struct server_task_result_embd : server_task_result {
@@ -334,6 +339,8 @@ struct server_task_result_embd : server_task_result {
334339
static server_task_result_embd from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
335340
return copy_cast_ptr(server_task_result_embd, result_ptr);
336341
}
342+
343+
virtual ~server_task_result_embd() = default;
337344
};
338345

339346
struct server_task_result_rerank : server_task_result {
@@ -351,6 +358,8 @@ struct server_task_result_rerank : server_task_result {
351358
static server_task_result_rerank from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
352359
return copy_cast_ptr(server_task_result_rerank, result_ptr);
353360
}
361+
362+
virtual ~server_task_result_rerank() = default;
354363
};
355364

356365
struct server_task_result_error : server_task_result {
@@ -362,6 +371,8 @@ struct server_task_result_error : server_task_result {
362371
static server_task_result_error from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
363372
return copy_cast_ptr(server_task_result_error, result_ptr);
364373
}
374+
375+
virtual ~server_task_result_error() = default;
365376
};
366377

367378
struct server_task_result_metrics : server_task_result {
@@ -422,28 +433,26 @@ struct server_task_result_metrics : server_task_result {
422433
static server_task_result_metrics from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
423434
return copy_cast_ptr(server_task_result_metrics, result_ptr);
424435
}
436+
437+
virtual ~server_task_result_metrics() = default;
425438
};
426439

427440
struct server_task_result_slot_save_load : server_task_result {
428441
server_task_result_slot_save_load() : server_task_result(RESULT_TYPE_SLOT_SAVE_LOAD) {}
429442
std::string filename;
430443
bool is_save; // true = save, false = load
431444

432-
size_t n_saved;
433-
size_t n_written;
434-
435-
size_t n_restored;
436-
size_t n_read;
437-
445+
size_t n_tokens;
446+
size_t n_bytes;
438447
double t_ms;
439448

440449
json to_json() {
441450
if (is_save) {
442451
return json {
443452
{ "id_slot", id_slot },
444453
{ "filename", filename },
445-
{ "n_saved", n_saved },
446-
{ "n_written", n_written },
454+
{ "n_saved", n_tokens },
455+
{ "n_written", n_bytes },
447456
{ "timings", {
448457
{ "save_ms", t_ms }
449458
}},
@@ -452,8 +461,8 @@ struct server_task_result_slot_save_load : server_task_result {
452461
return json {
453462
{ "id_slot", id_slot },
454463
{ "filename", filename },
455-
{ "n_restored", n_restored },
456-
{ "n_read", n_read },
464+
{ "n_restored", n_tokens },
465+
{ "n_read", n_bytes },
457466
{ "timings", {
458467
{ "restore_ms", t_ms }
459468
}},
@@ -464,6 +473,8 @@ struct server_task_result_slot_save_load : server_task_result {
464473
static server_task_result_slot_save_load from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
465474
return copy_cast_ptr(server_task_result_slot_save_load, result_ptr);
466475
}
476+
477+
virtual ~server_task_result_slot_save_load() = default;
467478
};
468479

469480
struct server_task_result_slot_erase : server_task_result {
@@ -480,6 +491,8 @@ struct server_task_result_slot_erase : server_task_result {
480491
static server_task_result_slot_erase from_ptr(std::unique_ptr<server_task_result> & result_ptr) {
481492
return copy_cast_ptr(server_task_result_slot_erase, result_ptr);
482493
}
494+
495+
virtual ~server_task_result_slot_erase() = default;
483496
};
484497

485498
struct server_task_result_apply_lora : server_task_result {

0 commit comments

Comments
 (0)