Class: Vertx::HttpConnection

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb

Overview

Represents an HTTP connection.

HTTP/1.x connection provides an limited implementation, the following methods are implemented:

Instance Method Summary (collapse)

Instance Method Details

- (void) close

This method returns an undefined value.

Close the connection and all the currently active streams.

An HTTP/2 connection will send a frame before.

Raises:

  • (ArgumentError)


126
127
128
129
130
131
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 126

def close
  if !block_given?
    return @j_del.java_method(:close, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling close()"
end

- (self) close_handler { ... }

Set a close handler. The handler will get notified when the connection is closed.

Yields:

  • the handler to be notified

Returns:

  • (self)

Raises:

  • (ArgumentError)


115
116
117
118
119
120
121
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 115

def close_handler
  if block_given?
    @j_del.java_method(:closeHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield })
    return self
  end
  raise ArgumentError, "Invalid arguments when calling close_handler()"
end

- (self) exception_handler { ... }

Set an handler called when a connection error happens

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)


206
207
208
209
210
211
212
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 206

def exception_handler
  if block_given?
    @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling exception_handler()"
end

- (Fixnum) get_window_size

@return the current connection window size or -1 for HTTP/1.x

Returns:

  • (Fixnum)

Raises:

  • (ArgumentError)


26
27
28
29
30
31
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 26

def get_window_size
  if !block_given?
    return @j_del.java_method(:getWindowSize, []).call()
  end
  raise ArgumentError, "Invalid arguments when calling get_window_size()"
end

- (self) go_away(errorCode = nil, lastStreamId = nil, debugData = nil)

Send a go away frame to the remote endpoint of the connection.

  • a frame is sent to the to the remote endpoint with the errorCode and debugData
  • any stream created after the stream identified by lastStreamId will be closed
  • for an is different than 0 when all the remaining streams are closed this connection will be closed automatically

This is not implemented for HTTP/1.x.

Parameters:

  • errorCode (Fixnum) (defaults to: nil)
    the error code
  • lastStreamId (Fixnum) (defaults to: nil)
    the last stream id
  • debugData (::Vertx::Buffer) (defaults to: nil)
    additional debug data sent to the remote endpoint

Returns:

  • (self)

Raises:

  • (ArgumentError)


59
60
61
62
63
64
65
66
67
68
69
70
71
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 59

def go_away(errorCode=nil,lastStreamId=nil,debugData=nil)
  if errorCode.class == Fixnum && !block_given? && lastStreamId == nil && debugData == nil
    @j_del.java_method(:goAway, [Java::long.java_class]).call(errorCode)
    return self
  elsif errorCode.class == Fixnum && lastStreamId.class == Fixnum && !block_given? && debugData == nil
    @j_del.java_method(:goAway, [Java::long.java_class,Java::int.java_class]).call(errorCode,lastStreamId)
    return self
  elsif errorCode.class == Fixnum && lastStreamId.class == Fixnum && debugData.class.method_defined?(:j_del) && !block_given?
    @j_del.java_method(:goAway, [Java::long.java_class,Java::int.java_class,Java::IoVertxCoreBuffer::Buffer.java_class]).call(errorCode,lastStreamId,debugData.j_del)
    return self
  end
  raise ArgumentError, "Invalid arguments when calling go_away(errorCode,lastStreamId,debugData)"
end

- (self) go_away_handler { ... }

Set an handler called when a frame is received.

This is not implemented for HTTP/1.x.

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)


77
78
79
80
81
82
83
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 77

def go_away_handler
  if block_given?
    @j_del.java_method(:goAwayHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event != nil ? JSON.parse(event.toJson.encode) : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling go_away_handler()"
end

- (self) ping(data = nil) { ... }

Send a frame to the remote endpoint.

This is not implemented for HTTP/1.x.

Parameters:

  • data (::Vertx::Buffer) (defaults to: nil)
    the 8 bytes data of the frame

Yields:

  • an async result handler notified with pong reply or the failure

Returns:

  • (self)

Raises:

  • (ArgumentError)


184
185
186
187
188
189
190
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 184

def ping(data=nil)
  if data.class.method_defined?(:j_del) && block_given?
    @j_del.java_method(:ping, [Java::IoVertxCoreBuffer::Buffer.java_class,Java::IoVertxCore::Handler.java_class]).call(data.j_del,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling ping(data)"
end

- (self) ping_handler { ... }

Set an handler notified when a frame is received from the remote endpoint.

This is not implemented for HTTP/1.x.

Yields:

  • the handler to be called when a is received

Returns:

  • (self)

Raises:

  • (ArgumentError)


196
197
198
199
200
201
202
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 196

def ping_handler
  if block_given?
    @j_del.java_method(:pingHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.safe_create(event,::Vertx::Buffer)) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling ping_handler()"
end

- (Hash) remote_settings

@return the current remote endpoint settings for this connection - this is not implemented for HTTP/1.x

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


160
161
162
163
164
165
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 160

def remote_settings
  if !block_given?
    return @j_del.java_method(:remoteSettings, []).call() != nil ? JSON.parse(@j_del.java_method(:remoteSettings, []).call().toJson.encode) : nil
  end
  raise ArgumentError, "Invalid arguments when calling remote_settings()"
end

- (self) remote_settings_handler { ... }

Set an handler that is called when remote endpoint Hash are updated.

This is not implemented for HTTP/1.x.

Yields:

  • the handler for remote endpoint settings

Returns:

  • (self)

Raises:

  • (ArgumentError)


171
172
173
174
175
176
177
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 171

def remote_settings_handler
  if block_given?
    @j_del.java_method(:remoteSettingsHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(event != nil ? JSON.parse(event.toJson.encode) : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling remote_settings_handler()"
end

- (self) set_window_size(windowSize = nil)

Update the current connection wide window size to a new size.

Increasing this value, gives better performance when several data streams are multiplexed

This is not implemented for HTTP/1.x.

Parameters:

  • windowSize (Fixnum) (defaults to: nil)
    the new window size

Returns:

  • (self)

Raises:

  • (ArgumentError)


39
40
41
42
43
44
45
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 39

def set_window_size(windowSize=nil)
  if windowSize.class == Fixnum && !block_given?
    @j_del.java_method(:setWindowSize, [Java::int.java_class]).call(windowSize)
    return self
  end
  raise ArgumentError, "Invalid arguments when calling set_window_size(windowSize)"
end

- (Hash) settings

@return the latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


134
135
136
137
138
139
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 134

def settings
  if !block_given?
    return @j_del.java_method(:settings, []).call() != nil ? JSON.parse(@j_del.java_method(:settings, []).call().toJson.encode) : nil
  end
  raise ArgumentError, "Invalid arguments when calling settings()"
end

- (self) shutdown(timeoutMs = nil)

Initiate a connection shutdown, a go away frame is sent and the connection is closed when all current streams will be closed or the timeout is fired.

This is not implemented for HTTP/1.x.

Parameters:

  • timeoutMs (Fixnum) (defaults to: nil)
    the timeout in milliseconds

Returns:

  • (self)

Raises:

  • (ArgumentError)


102
103
104
105
106
107
108
109
110
111
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 102

def shutdown(timeoutMs=nil)
  if !block_given? && timeoutMs == nil
    @j_del.java_method(:shutdown, []).call()
    return self
  elsif timeoutMs.class == Fixnum && !block_given?
    @j_del.java_method(:shutdown, [Java::long.java_class]).call(timeoutMs)
    return self
  end
  raise ArgumentError, "Invalid arguments when calling shutdown(timeoutMs)"
end

- (self) shutdown_handler { ... }

Set an handler called when a frame has been sent or received and all connections are closed.

This is not implemented for HTTP/1.x.

Yields:

  • the handler

Returns:

  • (self)

Raises:

  • (ArgumentError)


89
90
91
92
93
94
95
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 89

def shutdown_handler
  if block_given?
    @j_del.java_method(:shutdownHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield })
    return self
  end
  raise ArgumentError, "Invalid arguments when calling shutdown_handler()"
end

- (self) update_settings(settings = nil) { ... }

Send to the remote endpoint an update of this endpoint settings

The completionHandler will be notified when the remote endpoint has acknowledged the settings.

This is not implemented for HTTP/1.x.

Parameters:

  • settings (Hash) (defaults to: nil)
    the new settings

Yields:

  • the handler notified when the settings have been acknowledged by the remote endpoint

Returns:

  • (self)

Raises:

  • (ArgumentError)


148
149
150
151
152
153
154
155
156
157
# File '/Users/julien/java/vertx-stack/stack-docs/target/rb/vertx/http_connection.rb', line 148

def update_settings(settings=nil)
  if settings.class == Hash && !block_given?
    @j_del.java_method(:updateSettings, [Java::IoVertxCoreHttp::Http2Settings.java_class]).call(Java::IoVertxCoreHttp::Http2Settings.new(::Vertx::Util::Utils.to_json_object(settings)))
    return self
  elsif settings.class == Hash && block_given?
    @j_del.java_method(:updateSettings, [Java::IoVertxCoreHttp::Http2Settings.java_class,Java::IoVertxCore::Handler.java_class]).call(Java::IoVertxCoreHttp::Http2Settings.new(::Vertx::Util::Utils.to_json_object(settings)),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil) }))
    return self
  end
  raise ArgumentError, "Invalid arguments when calling update_settings(settings)"
end