.. _sources: Sources ======== A :py:class:`vspyx.Frames.Source` is an object in the network simulation responsible for allowing NetworkEvents to enter and exit the simulation. Some Sources are hardware, such as a ValueCAN 4 connected to your PC. Others will be backed by simulating the traffic from a buffer. It is also possible to make a Source from an Ethernet network adapter on your PC in promiscuous mode. In the case of a Source which interacts with the real world, the goal is for it to be a perfect gateway between the Channels in the network simulation and the channels in the real world. When the device observes a Frame occurring in the real world, it will transmit that frame into the simulation. Vice versa, when the Source observes a Frame occurring in the simulation, it will instruct the device to transmit that frame onto the physical bus. In the case of a Source which is backed by a buffer (a :py:class:`vspyx.Frames.BufferSource`), the goal is to watch the current simulation time and transmit the NetworkEvents into the simulation at the correct time. NetworkEvents received by a BufferSource (so, transmitted into the simulation by another Controller) are ignored.