class Net::TTI::Message

Constants

TTC_CODE_DATA_TYPE_NEGOTIATION
TTC_CODE_ERROR
TTC_CODE_FUNCTION_CALL
TTC_CODE_OK
TTC_CODE_PROTOCOL_NEGOTIATION

Public Class Methods

from_data_string( raw_message ) click to toggle source
# File lib/net/tti/message.rb, line 33
def self.from_data_string( raw_message )
  ttc_code = raw_message[0].unpack("C").first
  
  unless message_class = @@ttc_classes[ttc_code]
    raise Net::TNS::Exceptions::TNSException.new( "Unknown TTC code: #{ttc_code}" )
  end

  new_message = message_class.new
  new_message.read( raw_message )

  return new_message
end
handles_response_for_ttc_code(ttc_code) click to toggle source
# File lib/net/tti/message.rb, line 20
def self.handles_response_for_ttc_code(ttc_code)
  @@ttc_classes ||= {}
  @@ttc_codes ||= {}
  if @@ttc_classes.has_key?(ttc_code)
    existing_class = @@ttc_classes[ttc_code]
    raise ArgumentError.new("Duplicate TTC response handlers defined: #{existing_class} and #{self} both have TTC code of #{ttc_code}")
  end

  @@ttc_classes[ttc_code] = self
  @@ttc_codes[self] = ttc_code
  return nil
end

Private Instance Methods

_ttc_code() click to toggle source
# File lib/net/tti/message.rb, line 15
def _ttc_code
  raise NotImplementedError
end