class Opensips::MI::Transport::Datagram
Constants
- RECVMAXLEN
- TIMEOUT
Public Class Methods
init(params)
click to toggle source
# File lib/opensips/mi/transport/datagram.rb, line 9 def init(params) Datagram.new params end
new(params)
click to toggle source
# File lib/opensips/mi/transport/datagram.rb, line 14 def initialize(params) host_valid? params @sock = Socketry::UDP::Socket.connect(params[:host], params[:port]) @timeout = params[:timeout].to_i end
Public Instance Methods
command(cmd, params = [])
click to toggle source
# File lib/opensips/mi/transport/datagram.rb, line 20 def command(cmd, params = []) request = ":#{cmd}:\n" params.each do |c| request << "#{c}\n" end response = send(request) Opensips::MI::Response.new response.split(?\n) end
tout()
click to toggle source
# File lib/opensips/mi/transport/datagram.rb, line 29 def tout @timeout > 0 ? @timeout : TIMEOUT end
Private Instance Methods
send(request)
click to toggle source
# File lib/opensips/mi/transport/datagram.rb, line 34 def send(request) @sock.send request response = @sock.recvfrom RECVMAXLEN, timeout: tout response.message rescue => e "500 #{e}" end