'Send event.
Arguments:
type (str): Event type name, with group separated by dash (`-`).
retry (bool): Retry in the event of connection failure.
retry_policy (Mapping): Map of custom retry policy options.
See :meth:`~kombu.Connection.ensure`.
blind (bool): Don\'t set logical clock value (also don\'t forward
the internal logical clock).
Event (Callable): Event type used to create event,
defaults to :func:`Event`.
utcoffset (Callable): unction returning the current utc offset
in hours.
**fields (Any): Event fields -- must be json serializable.'

def send(self, type, blind=False, utcoffset=utcoffset, retry=False, retry_policy=None, Event=Event, **fields):

    if self.enabled:
        (groups, group) = (self.groups, group_from(type))
        if (groups and (group not in groups)):
            return
        if (group in self.buffer_group):
            clock = self.clock.forward()
            event = Event(type, hostname=self.hostname, utcoffset=utcoffset(), pid=self.pid, clock=clock, **fields)
            buf = self._group_buffer[group]
            buf.append(event)
            if (len(buf) >= self.buffer_limit):
                self.flush()
            elif self.on_send_buffered:
                self.on_send_buffered()
        else:
            return self.publish(type, fields, self.producer, blind=blind, Event=Event, retry=retry, retry_policy=retry_policy)
