io: io_time_override to insert fake times.
[ccan] / ccan / io / io.h
index ac5a6b077a4b578e776b2a7ac2fa2348c000b530..9316dd180a9895adc2f60fdb6cdaeff6d77deb4a 100644 (file)
@@ -649,6 +649,16 @@ void *io_loop(struct timers *timers, struct timer **expired);
  */
 int io_conn_fd(const struct io_conn *conn);
 
+/**
+ * io_time_override - override the normal call for time.
+ * @nowfn: the function to call.
+ *
+ * io usually uses time_now() internally, but this forces it
+ * to use your function (eg. for debugging).  Returns the old
+ * one.
+ */
+struct timeabs (*io_time_override(struct timeabs (*now)(void)))(void);
+
 /**
  * io_set_debug - set synchronous mode on a connection.
  * @conn: the connection.