| package li.cil.oc.api.component; |
| |
| import li.cil.oc.api.network.Environment; |
| import li.cil.oc.api.network.Packet; |
| |
| /** |
| * Use this interface on environments that may receive network messages from a |
| * bus in a rack. |
| * <p/> |
| * Specifically, this is checked on environments in servers installed in racks. |
| * The server will collect the first three environments of components in it |
| * implement this interface, and provide their nodes to the rack via the |
| * {@link RackMountable#getConnectableAt(int)} method. This in turn will allow them |
| * to be 'connected' to the buses, so that they can receive network messages |
| * arriving on the respective side of the rack. |
| */ |
| public interface RackBusConnectable extends Environment { |
| /** |
| * Called to inject a network packet that arrived on the bus this |
| * environment is connected to in the hosting rack. |
| * |
| * @param packet the packet to handle. |
| */ |
| void receivePacket(Packet packet); |
| } |