Class: Droonga::Client::Connection::DroongaProtocol

Inherits:
Object
  • Object
show all
Defined in:
lib/droonga/client/connection/droonga-protocol.rb,
lib/droonga/client/connection/droonga-protocol/coolio.rb,
lib/droonga/client/connection/droonga-protocol/thread.rb

Defined Under Namespace

Classes: Coolio, Thread

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ DroongaProtocol

Returns a new instance of DroongaProtocol.



24
25
26
27
28
29
30
# File 'lib/droonga/client/connection/droonga-protocol.rb', line 24

def initialize(options={})
  @host = options[:host] || "127.0.0.1"
  @port = options[:port] || 24224
  @tag = options[:tag] || "droonga"
  @options = options
  @backend = create_backend
end

Instance Method Details

#closevoid

This method returns an undefined value.

Close the connection. This connection can't be used anymore.



104
105
106
# File 'lib/droonga/client/connection/droonga-protocol.rb', line 104

def close
  @backend.close
end

#request(message, options = {}) ⇒ Object #request(message, options = {}) {|response| ... } ⇒ Request

Sends a request message and receives one or more response messages.

Overloads:

  • #request(message, options = {}) ⇒ Object

    This is synchronously version.

    Parameters:

    • message (Hash)

      Request message.

    • options (Hash) (defaults to: {})

      The options. TODO: WRITE ME

    Returns:

    • (Object)

      The response. TODO: WRITE ME

  • #request(message, options = {}) {|response| ... } ⇒ Request

    This is asynchronously version.

    Parameters:

    • message (Hash)

      Request message.

    • options (Hash) (defaults to: {})

      The options. TODO: WRITE ME

    Yields:

    • (response)

      The block is called when response is received.

    Yield Parameters:

    • response (Object)

      The response.

    Returns:

    • (Request)

      The request object.



56
57
58
# File 'lib/droonga/client/connection/droonga-protocol.rb', line 56

def request(message, options={}, &block)
  @backend.request(message, options, &block)
end

#send(message, options = {}, &block) ⇒ void

This method returns an undefined value.

Sends low level request. Normally, you should use other convenience methods.

Parameters:

  • message (Hash)

    Request message.

  • options (Hash) (defaults to: {})

    The options to send request. TODO: WRITE ME



97
98
99
# File 'lib/droonga/client/connection/droonga-protocol.rb', line 97

def send(message, options={}, &block)
  @backend.send(message, options, &block)
end

#subscribe(message, options = {}) ⇒ Enumerator #subscribe(message, options = {}) {|message| ... } ⇒ Request

Subscribes something and receives zero or more published messages.

Overloads:

  • #subscribe(message, options = {}) ⇒ Enumerator

    This is enumerator version.

    Parameters:

    • message (Hash)

      Subscribe message.

    • options (Hash) (defaults to: {})

      The options. TODO: WRITE ME

    Returns:

    • (Enumerator)

      You can get a published message by

      next. You can also use #each to get published messages.

  • #subscribe(message, options = {}) {|message| ... } ⇒ Request

    This is asynchronously version.

    Parameters:

    • message (Hash)

      Subscribe message.

    • options (Hash) (defaults to: {})

      The options. TODO: WRITE ME

    Yields:

    • (message)

      The block is called when a published message is received. The block may be called zero or more times.

    Yield Parameters:

    • message (Object)

      The published message.

    Returns:

    • (Request)

      The request object.



86
87
88
# File 'lib/droonga/client/connection/droonga-protocol.rb', line 86

def subscribe(message, options={}, &block)
  @backend.subscribe(message, options, &block)
end