Crate polypaging

source ·

Structs

  • This object holds the actual data of a file in memory
  • Header and trailer packets in-memory representation
  • Payload packets in-memory representation
  • Array of bytes that make up the raw RTP payload
  • This information doesn’t change during a session, so we can pass it by ref to other functions in this library

Enums

  • Paging supports two codecs, select the one you are using

Traits

  • Packets both with and without a payload must implement these traits

Functions

  • Public function to println!() (mostly) what the do_transmit function would do, but don’t actually transmit any packets
  • Transmit a file, passed in as &FileBytes, to Poly phones via IP multicast. This function handles all parsing and timing, as well as IGMP setup to join the multicast group.
  • Helper function to get a new PacketNoPayload object for the “Alert” OpCode
  • Public function to get the alert packet as array of bytes.
  • Helper function to get a new PacketNoPayload object for the “End” OpCode
  • Public functinon to get the end packet as an array of bytes.
  • Helper function to get an array of PacketWithPayload(s) to transmit the payload_bytes this function splits the payload_bytes into 80 byte chunks and orders them appropriately for Poly phone consumption
  • Public function to get a single payload packet as an array of bytes. Takes the payload as a [u8; 80], aka, an 80 byte array Must also include the last chunk of payload. On the first packet, the last_chunk must equal the payload_chunk
  • Helper function to get an array of another array of bytes, from get_payload to transmit the actual packets rather than the internal representation of an array of PacketWithPayload(s)
  • Helper function to get a new SessionInfo object