Sha256: 581403455ff1f96d09feb80827905c99ccedfc574aa8cd5af06dbeae37dea036

Contents?: true

Size: 1.19 KB

Versions: 24

Compression:

Stored size: 1.19 KB

Contents

require 'ostruct'
require 'toq'
require_relative '../serializer'

module Cuboid
module RPC
class Server

# RPC server class
#
# @private
# @author Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
class Base < Toq::Server

    # @param    [Hash]   options
    # @option options [Integer]  :host
    # @option options [Integer]  :port
    # @option options [Integer]  :socket
    # @option options [Integer]  :ssl_ca
    # @option options [Integer]  :ssl_pkey
    # @option options [Integer]  :ssl_cert
    # @param    [String]    token
    #   Optional authentication token.
    def initialize( options = nil, token = nil )

        # If given nil use the global defaults.
        options ||= Options.rpc.to_server_options
        @options = options

        super(options.merge(
            serializer: Serializer,
            token:      token
        ))
    end

    def address
        @options[:external_address] || @options[:host]
    end

    def port
        @options[:port]
    end

    def url
        return @options[:socket] if @options[:socket]

        "#{address}:#{port}"
    end

    def start
        super
        @ready = true
    end

    def ready?
        @ready ||= false
    end

end

end
end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
cuboid-0.2.13 lib/cuboid/rpc/server/base.rb
cuboid-0.2.12 lib/cuboid/rpc/server/base.rb
cuboid-0.2.11 lib/cuboid/rpc/server/base.rb
cuboid-0.2.10 lib/cuboid/rpc/server/base.rb
cuboid-0.2.9 lib/cuboid/rpc/server/base.rb
cuboid-0.2.8 lib/cuboid/rpc/server/base.rb
cuboid-0.2.7 lib/cuboid/rpc/server/base.rb
cuboid-0.2.6 lib/cuboid/rpc/server/base.rb
cuboid-0.2.5 lib/cuboid/rpc/server/base.rb
cuboid-0.2.4.2 lib/cuboid/rpc/server/base.rb
cuboid-0.2.4.1 lib/cuboid/rpc/server/base.rb
cuboid-0.2.4 lib/cuboid/rpc/server/base.rb
cuboid-0.2.3 lib/cuboid/rpc/server/base.rb
cuboid-0.2.2 lib/cuboid/rpc/server/base.rb
cuboid-0.2.1 lib/cuboid/rpc/server/base.rb
cuboid-0.2 lib/cuboid/rpc/server/base.rb
cuboid-0.1.9.1 lib/cuboid/rpc/server/base.rb
cuboid-0.1.9 lib/cuboid/rpc/server/base.rb
cuboid-0.1.8 lib/cuboid/rpc/server/base.rb
cuboid-0.1.7 lib/cuboid/rpc/server/base.rb