All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.threerings.nexus.distrib.EventSink Maven / Gradle / Ivy

The newest version!
//
// Nexus Core - a framework for developing distributed applications
// http://github.com/threerings/nexus/blob/master/LICENSE

package com.threerings.nexus.distrib;

/**
 * Handles the dispatch of events for a {@link NexusObject}.
 */
public interface EventSink
{
    /**
     * Returns the name of the host that is associated with this event sink. This is used by Nexus
     * objects to construct their address.
     */
    String getHost ();

    /**
     * Posts an event originating from the specified object, to be dispatched to local and
     * distributed listeners.
     */
    void postEvent (NexusObject source, NexusEvent event);

    /**
     * Posts a service request originating from the specified object. It will be distributed
     * upstream.
     */
    void postCall (NexusObject source, short attrIndex, short methodId, Object[] args);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy