Giter Club home page Giter Club logo

owt-sdk-quic's People

Contributors

cisco66666 avatar gaomingkai avatar jianjunz avatar lijinxia avatar lzhai avatar qwu16 avatar starwarfan avatar taste1981 avatar yanbin7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

owt-sdk-quic's Issues

Support H3_DATAGRAM_DRAFT04

The latest Chromium supports H3_DATAGRAM_DRAFT04 instead of H3_DATAGRAM_DRAFT00. Handshake fails if the version doesn't match.

Question about blackhole detection and idle network detection

Hi,

I am taking tests on high sender loss network condition. The connection is often closed by the network blackhole detection. After I swiched the blackhole_detection_disabled_ to true in quic_connection.h, I got the QUIC_NETWORK_IDLE_TIMEOUT error. However, I think 5 rtos or 33ms timeout is very normal in weak network condition.

Is this normal? Could you please some hints on these problems? Thank you very much.

Execute “gn gen out/debug” command failed when compiling owt sdk on Ubuntu 18.04 system

Hi,
Seems that "gclient sync" is done.
When execute “gn gen out/debug” command
It outputs as follow:

ERROR at //testing/test.gni:21:30: Undefined identifier
tests_have_location_tags = generate_location_tags
^---------------------
See //testing/libfuzzer/fuzzer_test.gni:9:1: whence it was imported.
import("//testing/test.gni")
^--------------------------
See //media/media_options.gni:11:1: whence it was imported.
import("//testing/libfuzzer/fuzzer_test.gni")
^-------------------------------------------
See //chromecast/chromecast.gni:8:1: whence it was imported.
import("//media/media_options.gni")
^---------------------------------
See //chrome/browser/buildflags.gni:8:1: whence it was imported.
import("//chromecast/chromecast.gni")
^-----------------------------------
See //BUILD.gn:19:1: whence it was imported.
import("//chrome/browser/buildflags.gni")
^---------------------------------------

Any advice about this error?

getting error at gn gen out/debug step

hello while i am trying to do the steps in build_instructions one by one at "gn gen out/debug" step I am getting the error
"ERROR Unresolved dependencies.
//:gn_all(//build/toolchain/linux:clang_x64)
needs //owt/web_transport:owt_web_transport(//build/toolchain/linux:clang_x64)"

Any idea how to make it run?
Thank you in advance.

Chromium build

Hi
Is there a way to build the owt-sdk-quic without downloading and building the entire chromium code (as it takes a very long time) . Is there still a dependency on chrome .

I saw a few quic clients online which dont need chrome.

I am reading that the new QUIC which the webtransport uses , is independent of chrome.
So assuming owt-sdk-quic uses the web transport / HTTP3/QUIC defined by IETF, do we still need to build chrome ?

thanks

Sample Application (Linux / Windows)

Hi
Is there any sample quic/webtransport application ( linux or windows) which uses owt-client-native which calls owt-quic-sdk to
test the webtransport / quic features of owt server / client. If so can you please provide the location ?

thanks

Hang on destroying this from ConferenceWebTransportChannel

When the destructor is called on the interface method that this implements from https://github.com/open-webrtc-toolkit/owt-client-native/blob/5626f534c0f5237e3a7a5303417f1eafd90f3cd2/talk/owt/sdk/conference/conferencewebtransportchannel.cc#L67 the destructor will be pended on the wait() call.

Why would the destructor need to pend on wait() if this instance will be destroyed?

Moving to WebTransport

quic-transport will no longer be supported by browser. Moving to HTTP/3 based WebTransport to align with spec.

how to reset the chromium?

Reset chromium commit close to 0d7f510fc898d4040d474a58b0eb609c43b6ac20.
what is the tag of that vesion.

undefined symbol function

undefined symbol: net::InitializeQuicConfig(net::QuicParams const&)

owt-deps-quic\web_transport\sdk\impl\web_transport_http3_client.cc:429

Crash while writing after session is terminated.

QuicTransportStreamImpl::Write posts a task to io_runner_. Session might be stopped before the task is finished.

Call stack:

 	owt_quic_transport.dll!quic::QuicTransportStream::CanWrite() Line 101	C++
>	owt_quic_transport.dll!owt::quic::QuicTransportStreamImpl::Write(uint8_t *, size_t)::(anonymous class)::operator()() Line 114	C++
 	owt_quic_transport.dll!base::internal::FunctorTraits<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',void>::Invoke<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',owt::quic::QuicTransportStreamImpl *,unsigned char *,unsigned long long &,bool &,base::WaitableEvent *>() Line 379	C++
 	owt_quic_transport.dll!base::internal::InvokeHelper<0,void>::MakeItSo<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',owt::quic::QuicTransportStreamImpl *,unsigned char *,unsigned long long &,bool &,base::WaitableEvent *>() Line 637	C++
 	owt_quic_transport.dll!base::internal::Invoker<base::internal::BindState<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,void ()>::RunImpl<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',std::__1::tuple<base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,0,1,2,3,4>() Line 710	C++
 	owt_quic_transport.dll!base::internal::Invoker<base::internal::BindState<`lambda at ../../owt/quic_transport/impl/quic_transport_stream_impl.cc:112:11',base::internal::UnretainedWrapper<owt::quic::QuicTransportStreamImpl>,base::internal::UnretainedWrapper<unsigned char>,std::__1::reference_wrapper<unsigned long long>,std::__1::reference_wrapper<bool>,base::internal::UnretainedWrapper<base::WaitableEvent>>,void ()>::RunOnce() Line 679	C++
 	owt_quic_transport.dll!base::OnceCallback<void ()>::Run() Line 101	C++
 	owt_quic_transport.dll!base::TaskAnnotator::RunTask() Line 165	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl() Line 333	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() Line 254	C++
 	owt_quic_transport.dll!base::MessagePumpForIO::DoRunLoop() Line 723	C++
 	owt_quic_transport.dll!base::MessagePumpWin::Run() Line 82	C++
 	owt_quic_transport.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run() Line 450	C++
 	owt_quic_transport.dll!base::RunLoop::Run() Line 124	C++
 	owt_quic_transport.dll!base::Thread::Run() Line 311	C++
 	owt_quic_transport.dll!base::Thread::ThreadMain() Line 385	C++
 	owt_quic_transport.dll!base::`anonymous namespace'::ThreadFunc() Line 113	C++
 	[External Code]	

compile web_transport failed

I read this article, follow the article step by step, check the latest main branch, but compile failed.

ninja -C out/release owt_web_transport owt_web_transport_tests
ninja: Entering directory `out/release'
[3414/3759] CXX obj/owt/web_transport/owt_web_transport_impl/web_transport_stream_impl.o
FAILED: obj/owt/web_transport/owt_web_transport_impl/web_transport_stream_impl.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/owt/web_transport/owt_web_transport_impl/web_transport_stream_impl.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-12-init-5627-gf086e85e-2\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_DEBUG=0 -DCR_LIBCXX_REVISION=375504 -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DOWT_QUIC_LIBRARY_IMPL -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -I../.. -Igen -I../../owt/web_transport/sdk -I../../owt/web_transport/sdk/api -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -enable-dse-memoryssa=false -fcomplete-member-pointers -m64 -march=x86-64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Werror -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-psabi -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-non-c-typedef-for-linkage -Wmax-tokens -O0 -fno-omit-frame-pointer -g1 -ftrivial-auto-var-init=pattern -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-shorten-64-to-32 -Wno-header-guard -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/nss -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/nspr -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_amd64-sysroot -fvisibility-inlines-hidden -c ../../owt/web_transport/sdk/impl/web_transport_stream_impl.cc -o obj/owt/web_transport/owt_web_transport_impl/web_transport_stream_impl.o
In file included from ../../owt/web_transport/sdk/impl/web_transport_stream_impl.cc:15:
In file included from ../../owt/web_transport/sdk/impl/web_transport_stream_impl.h:21:
../../owt/web_transport/sdk/impl/http3_server_stream.h:50:9: error: no type named 'Http2HeaderBlock' in namespace 'spdy'; did you mean 'SpdyHeaderBlock'?
  spdy::Http2HeaderBlock request_headers_;
  ~~~~~~^~~~~~~~~~~~~~~~
        SpdyHeaderBlock
../../net/third_party/quiche/src/spdy/core/spdy_header_block.h:49:29: note: 'SpdyHeaderBlock' declared here
class QUICHE_EXPORT_PRIVATE SpdyHeaderBlock {
                            ^
In file included from ../../owt/web_transport/sdk/impl/web_transport_stream_impl.cc:15:
../../owt/web_transport/sdk/impl/web_transport_stream_impl.h:23:10: fatal error: 'net/third_party/quiche/src/quic/core/web_transport_interface.h' file not found
#include "net/third_party/quiche/src/quic/core/web_transport_interface.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
[3415/3759] CXX obj/owt/web_transport/owt_web_transport_impl/web_transport_server_backend.o
FAILED: obj/owt/web_transport/owt_web_transport_impl/web_transport_server_backend.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/owt/web_transport/owt_web_transport_impl/web_transport_server_backend.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-12-init-5627-gf086e85e-2\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_DEBUG=0 -DCR_LIBCXX_REVISION=375504 -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DOWT_QUIC_LIBRARY_IMPL -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -I../.. -Igen -I../../owt/web_transport/sdk -I../../owt/web_transport/sdk/api -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -enable-dse-memoryssa=false -fcomplete-member-pointers -m64 -march=x86-64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Werror -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-psabi -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-non-c-typedef-for-linkage -Wmax-tokens -O0 -fno-omit-frame-pointer -g1 -ftrivial-auto-var-init=pattern -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-shorten-64-to-32 -Wno-header-guard -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/nss -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/nspr -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_amd64-sysroot -fvisibility-inlines-hidden -c ../../owt/web_transport/sdk/impl/web_transport_server_backend.cc -o obj/owt/web_transport/owt_web_transport_impl/web_transport_server_backend.o
In file included from ../../owt/web_transport/sdk/impl/web_transport_server_backend.cc:7:
In file included from ../../owt/web_transport/sdk/impl/web_transport_server_backend.h:11:
In file included from ../../owt/web_transport/sdk/impl/web_transport_server_session.h:15:
../../owt/web_transport/sdk/impl/http3_server_session.h:46:38: error: only virtual member functions can be marked 'override'
  bool ShouldNegotiateWebTransport() override;
                                     ^~~~~~~~
../../owt/web_transport/sdk/impl/http3_server_session.h:47:39: error: only virtual member functions can be marked 'override'
  bool ShouldNegotiateHttp3Datagram() override;
                                      ^~~~~~~~
In file included from ../../owt/web_transport/sdk/impl/web_transport_server_backend.cc:7:
In file included from ../../owt/web_transport/sdk/impl/web_transport_server_backend.h:11:
../../owt/web_transport/sdk/impl/web_transport_server_session.h:16:10: fatal error: 'net/third_party/quiche/src/quic/core/http/web_transport_http3.h' file not found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.