module Moped module Protocol # The Protocol class for killing active cursors. # # @example # command = KillCursors.new [123, 124, 125] # # @example Setting the request id # command = KillCursors.new [123, 124, 125], request_id: 456 class KillCursors include Message # @attribute # @return [Number] the length of the message int32 :length # @attribute # @return [Number] the request id of the message int32 :request_id int32 :response_to # @attribute # @return [Number] the operation code of this message int32 :op_code int32 :reserved # reserved for future use # @attribute # @return [Number] the number of cursor ids int32 :number_of_cursor_ids # @attribute # @return [Array] the cursor ids to kill int64 :cursor_ids, type: :array # @return [Number] OP_KILL_CURSORS operation code (2007) def op_code 2007 end # Create a new command to kill cursors. # # @param [Array] cursor_ids an array of cursor ids to kill # @param [Hash] options additional options # @option options [Number] :request_id the command's request id def initialize(cursor_ids, options = {}) @cursor_ids = cursor_ids @number_of_cursor_ids = cursor_ids.length @request_id = options[:request_id] end def log_inspect type = "KILL_CURSORS" "%-12s cursor_ids=%s" % [type, cursor_ids.inspect] end end end end