Class: Protocol::QUIC::Address
- Inherits:
-
Object
- Object
- Protocol::QUIC::Address
- Defined in:
- ext/source/Ruby/Protocol/QUIC/Address.cpp
Class Method Summary collapse
Instance Method Summary collapse
Constructor Details
#initialize ⇒ Object
49 50 51 52 53 |
# File 'ext/source/Ruby/Protocol/QUIC/Address.cpp', line 49
static VALUE Ruby_Protocol_QUIC_Address_initialize(VALUE self) {
DATA_PTR(self) = new ::Protocol::QUIC::Address();
return self;
}
|
Class Method Details
.resolve(host, service, family, type, flags) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'ext/source/Ruby/Protocol/QUIC/Address.cpp', line 88
VALUE Ruby_Protocol_QUIC_Address_s_resolve(VALUE klass, VALUE host, VALUE service, VALUE family, VALUE type, VALUE flags)
{
StringValue(host);
StringValue(service);
auto addresses = ::Protocol::QUIC::Address::resolve(
std::string_view(RSTRING_PTR(host), RSTRING_LEN(host)),
std::string_view(RSTRING_PTR(service), RSTRING_LEN(service)),
RB_NUM2INT(family),
RB_NUM2INT(type),
RB_NUM2INT(flags)
);
VALUE result = rb_ary_new_capa(addresses.size());
for (auto & address : addresses) {
rb_ary_push(result, Ruby_Protocol_QUIC_Address_wrap(klass, address));
}
return result;
}
|
Instance Method Details
#data ⇒ Object
70 71 72 73 74 |
# File 'ext/source/Ruby/Protocol/QUIC/Address.cpp', line 70
static VALUE Ruby_Protocol_QUIC_Address_data(VALUE self) {
::Protocol::QUIC::Address *address = Ruby_Protocol_QUIC_Address_get(self);
return rb_str_new((const char *)&address->data.sa, address->length);
}
|
#family ⇒ Object
64 65 66 67 68 |
# File 'ext/source/Ruby/Protocol/QUIC/Address.cpp', line 64
static VALUE Ruby_Protocol_QUIC_Address_family(VALUE self) {
::Protocol::QUIC::Address *address = Ruby_Protocol_QUIC_Address_get(self);
return RB_INT2NUM(address->family());
}
|
#inspect ⇒ Object
55 56 57 58 59 60 61 62 |
# File 'ext/source/Ruby/Protocol/QUIC/Address.cpp', line 55
static VALUE Ruby_Protocol_QUIC_Address_inspect(VALUE self) {
auto address = Ruby_Protocol_QUIC_Address_get(self);
auto string = address->to_string();
VALUE class_name = rb_inspect(rb_class_of(self));
return rb_sprintf("<%" PRIsVALUE ":%p '%s'>", class_name, (void*)self, string.c_str());
}
|