roStreamByteArrayEvent
Stream receive objects that implement the ifStreamReceive interface (like roTCPStream or roSerialPort) include a SetByteArrayEventPort(message_port as Object) method. This method ensures that roStreamByteArrayEvent events are posted to the message port when bytes are received.
For some object types when bytes are expected to be received in chunks (for example, roTCPStream), this can be much more efficient since data no longer needs to be delivered to BrightScript a byte at a time, but since serial ports are comparatively slow it's possible that each event will still contain only a single character.
ifUserData
GetByteArray() As Object
Returns the received bytes that have been set via SetByteArrayEventPort(). It will return Invalid if no data has been set.