Class: Legion::LLM::Transport::Messages::MeteringEvent

Inherits:
Legion::LLM::Transport::Message show all
Defined in:
lib/legion/llm/transport/messages/metering_event.rb

Constant Summary

Constants inherited from Legion::LLM::Transport::Message

Legion::LLM::Transport::Message::LLM_ENVELOPE_KEYS

Instance Method Summary collapse

Methods inherited from Legion::LLM::Transport::Message

#app_id, #content_encoding, #correlation_id, #encode_message, #install_return_listener, #message, #message_context, #message_id, #prepare_publisher_confirms, #publish_envelope_options, #publish_failure_result, #publish_result, #tracing_headers

Instance Method Details

#encrypt?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 15

def encrypt?
  Legion::Settings[:llm][:compliance][:encrypt_metering] == true
end

#exchangeObject



11
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 11

def exchange    = Legion::LLM::Transport::Exchanges::Metering

#expirationObject



19
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 19

def expiration = nil

#headersObject



21
22
23
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 21

def headers
  super.merge(tier_header)
end

#priorityObject



13
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 13

def priority    = 0

#routing_keyObject



12
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 12

def routing_key = "metering.#{@options[:request_type]}"

#typeObject



10
# File 'lib/legion/llm/transport/messages/metering_event.rb', line 10

def type        = 'llm.metering.event'