Module OSC::Transport
In: lib/osc/transport.rb

Mixin for OSC transports. You implement (or in many cases just alias) send_raw, recvfrom_raw, and recv_raw, which have the semantics of send, recvfrom, and recv in e.g. UDPSocket

Methods

recv   recvfrom   send   send_timestamped   send_ts  

Public Instance methods

Receive a Message, Bundle, or raw data.

[Source]

    # File lib/osc/transport.rb, line 29
29:     def recv(*args)
30:       data = recv_raw(*args)
31:       Packet.decode(data)
32:     rescue
33:     end

Receive a Message, Bundle, or raw data and the sender. The source attribute of the Message or Bundle is also set to sender. e.g.

  packet, sender = udp_osc_client.recvfrom(32768)

[Source]

    # File lib/osc/transport.rb, line 19
19:     def recvfrom(*args)
20:       data, sender = recvfrom_raw(*args)
21:       m = Packet.decode(data)
22:       m.source = sender
23:       [m, sender]
24:     rescue
25:       [data, sender]
26:     end

Send a Message, Bundle, or even raw data

[Source]

    # File lib/osc/transport.rb, line 7
 7:     def send(msg, *args)
 8:       case msg
 9:       when Message,Bundle
10:         send_raw(msg.encode, *args)
11:       else
12:         send_raw(msg, *args)
13:       end
14:     end

Send a Message/Bundle with a timestamp (a Time or TimeTag object).

[Source]

    # File lib/osc/transport.rb, line 36
36:     def send_timestamped(msg, ts, *args)
37:       m = Bundle.new(ts, msg)
38:       send(m, *args)
39:     end
send_ts(msg, ts, *args)

Alias for send_timestamped

[Validate]