Class: CZMQ::FFI::ZhttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb

Overview

Note:

This class is 100% generated using zproject.

Http client, allowing multiple requests simultaneously and integrate easily with zpoller. Use zhttp_request class to create and send the request. Use zhttp_response class to receive the response.

Defined Under Namespace

Classes: DestroyedError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ptr, finalize = true) ⇒ ZhttpClient

Attaches the pointer ptr to this instance and defines a finalizer for it if necessary.

Parameters:

  • ptr (::FFI::Pointer)
  • finalize (Boolean) (defaults to: true)


26
27
28
29
30
31
32
33
34
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 26

def initialize(ptr, finalize = true)
  @ptr = ptr
  if @ptr.null?
    @ptr = nil # Remove null pointers so we don't have to test for them.
  elsif finalize
    @finalizer = self.class.create_finalizer_for @ptr
    ObjectSpace.define_finalizer self, @finalizer
  end
end

Class Method Details

.__newObject



20
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 20

alias :__new :new

.create_finalizer_for(ptr) ⇒ Proc

Parameters:

  • ptr (::FFI::Pointer)

Returns:

  • (Proc)


37
38
39
40
41
42
43
44
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 37

def self.create_finalizer_for(ptr)
  ptr_ptr = ::FFI::MemoryPointer.new :pointer

  Proc.new do
    ptr_ptr.write_pointer ptr
    ::CZMQ::FFI.zhttp_client_destroy ptr_ptr
  end
end

.new(verbose) ⇒ CZMQ::ZhttpClient

Create a new http client

Parameters:

  • verbose (Boolean)

Returns:

  • (CZMQ::ZhttpClient)


82
83
84
85
86
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 82

def self.new(verbose)
  verbose = !(0==verbose||!verbose) # boolean
  ptr = ::CZMQ::FFI.zhttp_client_new(verbose)
  __new ptr
end

.test(verbose) ⇒ void

This method returns an undefined value.

Self test of this class.

Parameters:

  • verbose (Boolean)


102
103
104
105
106
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 102

def self.test(verbose)
  verbose = !(0==verbose||!verbose) # boolean
  result = ::CZMQ::FFI.zhttp_client_test(verbose)
  result
end

Instance Method Details

#__ptr::FFI::Pointer Also known as: to_ptr

Return internal pointer

Returns:

  • (::FFI::Pointer)

Raises:



51
52
53
54
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 51

def __ptr
  raise DestroyedError unless @ptr
  @ptr
end

#__ptr_give_ref::FFI::MemoryPointer

Note:

This detaches the current instance from the native object and thus makes it unusable.

Nullify internal pointer and return pointer pointer.

Returns:

  • (::FFI::MemoryPointer)

    the pointer pointing to a pointer pointing to the native object

Raises:



62
63
64
65
66
67
68
69
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 62

def __ptr_give_ref
  raise DestroyedError unless @ptr
  ptr_ptr = ::FFI::MemoryPointer.new :pointer
  ptr_ptr.write_pointer @ptr
  __undef_finalizer if @finalizer
  @ptr = nil
  ptr_ptr
end

#__undef_finalizervoid

Note:

Only use this if you need to and can guarantee that the native object will be freed by other means.

This method returns an undefined value.

Undefines the finalizer for this object.



74
75
76
77
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 74

def __undef_finalizer
  ObjectSpace.undefine_finalizer self
  @finalizer = nil
end

#destroyvoid

This method returns an undefined value.

Destroy an http client



91
92
93
94
95
96
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 91

def destroy()
  return unless @ptr
  self_p = __ptr_give_ref
  result = ::CZMQ::FFI.zhttp_client_destroy(self_p)
  result
end

#null?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_client.rb', line 46

def null?
  !@ptr or @ptr.null?
end