blob: 05a507406b729162136569f9e943856d12d20fa7 [file] [log] [blame]
package org.onlab.onos.net.packet;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.flow.TrafficTreatment;
import java.nio.ByteBuffer;
/**
* Represents an outbound data packet that is to be emitted to network via
* an infrastructure device.
*/
public interface OutboundPacket {
/**
* Returns the identity of a device through which this packet should be
* sent.
*
* @return device identity
*/
DeviceId sendThrough();
/**
* Returns how the outbound packet should be treated.
*
* @return output treatment
*/
TrafficTreatment treatment();
/**
* Returns immutable view of the raw data to be sent.
*
* @return data to emit
*/
ByteBuffer data();
}