+struct st_quic_event_log_t
+{
+ quicly_event_logger_t super;
+};
+
+void
+quic_event_log (quicly_event_logger_t * _self, quicly_event_type_t type,
+ const quicly_event_attribute_t * attributes,
+ size_t num_attributes)
+{
+ if (type == QUICLY_EVENT_TYPE_PACKET_LOST)
+ {
+ QUIC_DBG (1, "QUIC packet loss");
+ quic_increment_counter (QUIC_ERROR_PACKET_DROP, 1);
+ }
+}
+
+quicly_event_logger_t *
+quic_new_event_logger ()
+{
+ struct st_quic_event_log_t *self;
+
+ if ((self = clib_mem_alloc (sizeof (*self))) == NULL)
+ return NULL;
+ /* *INDENT-OFF* */
+ *self = (struct st_quic_event_log_t) {{quic_event_log}};
+ /* *INDENT-ON* */
+ return &self->super;
+}
+
+void
+quic_free_event_logger (quicly_event_logger_t * _self)
+{
+ struct st_quicly_default_event_log_t *self = (void *) _self;
+ clib_mem_free (self);
+}
+