Sha256: e50a15480a2d32ddb39105b997c3b810a65023e9b8cf4e459a5c3cd43c0e8d55

Contents?: true

Size: 596 Bytes

Versions: 18

Compression:

Stored size: 596 Bytes

Contents

# frozen_string_literal: true

module Nonnative
  class Server < Nonnative::Service
    attr_reader :proxy

    def initialize(service)
      @proxy = Nonnative::ProxyFactory.create(service)

      super service
    end

    def start
      unless thread
        proxy.start
        @thread = Thread.new { perform_start }

        wait_start
      end

      object_id
    end

    def stop
      if thread
        perform_stop
        thread.terminate
        proxy.stop

        @thread = nil
        wait_stop
      end

      object_id
    end

    private

    attr_reader :thread
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
nonnative-1.40.0 lib/nonnative/server.rb
nonnative-1.39.0 lib/nonnative/server.rb
nonnative-1.38.0 lib/nonnative/server.rb
nonnative-1.37.0 lib/nonnative/server.rb
nonnative-1.36.0 lib/nonnative/server.rb
nonnative-1.34.0 lib/nonnative/server.rb
nonnative-1.31.0 lib/nonnative/server.rb
nonnative-1.30.0 lib/nonnative/server.rb
nonnative-1.29.0 lib/nonnative/server.rb
nonnative-1.28.0 lib/nonnative/server.rb
nonnative-1.27.0 lib/nonnative/server.rb
nonnative-1.26.0 lib/nonnative/server.rb
nonnative-1.25.0 lib/nonnative/server.rb
nonnative-1.24.0 lib/nonnative/server.rb
nonnative-1.23.0 lib/nonnative/server.rb
nonnative-1.22.0 lib/nonnative/server.rb
nonnative-1.21.0 lib/nonnative/server.rb
nonnative-1.20.0 lib/nonnative/server.rb