class QRubyDriver::QMessage

Provided for legacy compatibility with previous versions of q-ruby-driver Usage of this class is deprecated

Attributes

exception[R]
message[R]
message_type[R]
timing[R]
value[R]

Public Instance Methods

create(value, sync = false) click to toggle source
# File lib/q-ruby-driver/q_message.rb, line 16
def create(value, sync = false)
  @value = value
  sync == true ? @message_type = :sync : @message_type = :async

  start_time = Time.now

  qio = QIO.new
  qio.write_message(value, sync)
  qio.pos=0
  @message = qio.read
  puts [@message].inspect
  @length = @message.length
  @timing = Time.now - start_time

  self
end
decode(message) click to toggle source

Decodes a binary message into a QMessage

# File lib/q-ruby-driver/q_message.rb, line 34
def decode(message)
  start_time= Time.now
  @message = message
  qio = QIO.new(@message)
  begin
    @length, @message_type = qio.message_header()
    @value = qio.read_item()
  rescue QException => qe
    @exception = qe
  end
end
to_s() click to toggle source
# File lib/q-ruby-driver/q_message.rb, line 46
def to_s
  if @message.nil?
    "QMessage [None]"
  elsif !@exception.nil?
    "QException [#{@message.unpack("H*")}] Type[#{@message_type}] Length [#{@length}] Value[#{@value}]"
  else
    "QMessage [#{@message.unpack("H*")}] Type[#{@message_type}] Length [#{@length}] Value[#{@value}]"
  end
end