nightduck/hazcat

Split the register/unregister functions into an rmw and hazcat component

Closed this issue · 0 comments

// Registers a publisher with the zero copy buffer associated with it's name. If none exists, one
// is created. If an existing one does not accommodate the memory domain or history requirements of
// the publisher, it will be resized. Messages will not be able to be published or taken while
// this resize operation is taking place
rmw_ret_t
hazcat_register_publisher(rmw_publisher_t * pub);
// Registers a subscription with the zero copy buffer associated with it's name. If none exists, one
// is created. If an existing one does not accommodate the memory domain or history requirements of
// the subscription, it will be resized. Messages will not be able to be published or taken while
// this resize operation is taking place
rmw_ret_t
hazcat_register_subscription(rmw_subscription_t * sub);

rmw_ret_t
hazcat_unregister_publisher(rmw_publisher_t * pub);
rmw_ret_t
hazcat_unregister_subscription(rmw_subscription_t * sub);

The rmw should call this function by passing the internal data element only (pub_sub_data_t), eliminating hazcat's need for linking rmw libraries.