class HrrRbNetconf::Server::Datastore::Session
Public Class Methods
new(database, oper_procs, session_proc, session, logger: nil)
click to toggle source
# File lib/hrr_rb_netconf/server/datastore/session.rb, line 13 def initialize database, oper_procs, session_proc, session, logger: nil self.logger = logger @database = database @oper_procs = oper_procs @session_proc = session_proc @session = session if @session_proc @oper_handler = OperHandler.new logger: logger @oper_thread = Fiber.new do |session| @session_proc.call @database, session, @oper_handler end @oper_thread.resume(session) end end
Public Instance Methods
close()
click to toggle source
# File lib/hrr_rb_netconf/server/datastore/session.rb, line 29 def close if @oper_thread while true begin @oper_thread.resume rescue FiberError break end end end end
run(oper_name, input)
click to toggle source
# File lib/hrr_rb_netconf/server/datastore/session.rb, line 41 def run oper_name, input unless @oper_procs.has_key? oper_name raise Error['operation-not-supported'].new('protocol', 'error', logger: logger) end if @oper_thread @oper_handler.run @oper_procs[oper_name], input else @oper_procs[oper_name].call @database, input end end