// Path: src/main/java/org/nextrtc/signalingserver/api/dto/NextRTCEvent.java
// public interface NextRTCEvent {
// 
//     NextRTCEvents type();
// 
//     ZonedDateTime published();
// 
//     Optional<NextRTCMember> from();
// 
//     Optional<NextRTCMember> to();
// 
//     Optional<NextRTCConversation> conversation();
// 
//     Optional<SignalingException> exception();
// 
//     Map<String, String> custom();
// 
//     String content();
// 
// }


import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe;
import org.nextrtc.signalingserver.api.dto.NextRTCEvent;
package org.nextrtc.signalingserver.eventbus;


public interface EventDispatcher {
    @Subscribe
    @AllowConcurrentEvents
// Path: src/main/java/org/nextrtc/signalingserver/api/dto/NextRTCEvent.java
// public interface NextRTCEvent {
// 
//     NextRTCEvents type();
// 
//     ZonedDateTime published();
// 
//     Optional<NextRTCMember> from();
// 
//     Optional<NextRTCMember> to();
// 
//     Optional<NextRTCConversation> conversation();
// 
//     Optional<SignalingException> exception();
// 
//     Map<String, String> custom();
// 
//     String content();
// 
// }


// Path: src/main/java/org/nextrtc/signalingserver/eventbus/EventDispatcher.java
import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe;
import org.nextrtc.signalingserver.api.dto.NextRTCEvent;

package org.nextrtc.signalingserver.eventbus;


public interface EventDispatcher {
    @Subscribe
    @AllowConcurrentEvents
    void handle(NextRTCEvent event);