mirror of
https://github.com/vale981/ray
synced 2025-03-12 22:26:39 -04:00
51 lines
1.6 KiB
C
51 lines
1.6 KiB
C
![]() |
#ifndef DRIVER_TABLE_H
|
||
|
#define DRIVER_TABLE_H
|
||
|
|
||
|
#include "db.h"
|
||
|
#include "table.h"
|
||
|
#include "task.h"
|
||
|
|
||
|
/*
|
||
|
* ==== Subscribing to the driver table ====
|
||
|
*/
|
||
|
|
||
|
/* Callback for subscribing to the driver table. */
|
||
|
typedef void (*driver_table_subscribe_callback)(WorkerID driver_id,
|
||
|
void *user_context);
|
||
|
|
||
|
/**
|
||
|
* Register a callback for a driver table event.
|
||
|
*
|
||
|
* @param db_handle Database handle.
|
||
|
* @param subscribe_callback Callback that will be called when the driver event
|
||
|
* happens.
|
||
|
* @param subscribe_context Context that will be passed into the
|
||
|
* subscribe_callback.
|
||
|
* @param retry Information about retrying the request to the database.
|
||
|
* @return Void.
|
||
|
*/
|
||
|
void driver_table_subscribe(DBHandle *db_handle,
|
||
|
driver_table_subscribe_callback subscribe_callback,
|
||
|
void *subscribe_context,
|
||
|
RetryInfo *retry);
|
||
|
|
||
|
/* Data that is needed to register driver table subscribe callbacks with the
|
||
|
* state database. */
|
||
|
typedef struct {
|
||
|
driver_table_subscribe_callback subscribe_callback;
|
||
|
void *subscribe_context;
|
||
|
} DriverTableSubscribeData;
|
||
|
|
||
|
/**
|
||
|
* Send driver death update to all subscribers.
|
||
|
*
|
||
|
* @param db_handle Database handle.
|
||
|
* @param driver_id The ID of the driver that died.
|
||
|
* @param retry Information about retrying the request to the database.
|
||
|
*/
|
||
|
void driver_table_send_driver_death(DBHandle *db_handle,
|
||
|
WorkerID driver_id,
|
||
|
RetryInfo *retry);
|
||
|
|
||
|
#endif /* DRIVER_TABLE_H */
|