Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement draft-ietf-moq-transport-04 #174

Merged
merged 73 commits into from
Jun 29, 2024
Merged

Implement draft-ietf-moq-transport-04 #174

merged 73 commits into from
Jun 29, 2024

Conversation

TimEvens
Copy link
Collaborator

Implements draft-ietf-moq-transport-04 in parallel with existing
Libquicr client/server. QuicrClient/Server and MOQIntsance can be used
side by side. New mod-example program replaces really.

cmd/moq-example/client.cpp Outdated Show resolved Hide resolved
cmd/moq-example/client.cpp Outdated Show resolved Hide resolved
cmd/moq-example/client.cpp Outdated Show resolved Hide resolved
src/moq_instance.cpp Outdated Show resolved Hide resolved
src/moq_instance.cpp Outdated Show resolved Hide resolved
src/moq_instance.cpp Outdated Show resolved Hide resolved
cmd/moq-example/server.cpp Show resolved Hide resolved
include/quicr/moq_instance_delegate.h Outdated Show resolved Hide resolved
include/quicr/moq_messages.h Show resolved Hide resolved
include/quicr/moq_messages.h Outdated Show resolved Hide resolved
include/quicr/moq_track_delegate.h Outdated Show resolved Hide resolved
src/moq_instance.cpp Outdated Show resolved Hide resolved
std::span<const uint8_t> data)
{

auto td = track_delegate.lock();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we check this isn't null, just in case?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To that end, should we just pass a shared_ptr? Or do we not want it to be kept alive by this method?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think locking at the beginning and trusting it isn't nullptr is equivalent to just passing the shared_ptr by value. If we don't want the copy of the shared_ptr to share ownership, then maybe we should just pass a shared_ptr reference?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moq instance, at least right now, controls setting this from a shared pointer, which is guaranteed to not be null. In this sense it's known and doesn't need to be checked if null, but I suppose it wouldn't impact it if we checked if it was null or not, but it would be error if it was nullptr, which probably should result in an abort.

src/moq_instance.cpp Outdated Show resolved Hide resolved
src/moq_instance.cpp Outdated Show resolved Hide resolved
src/moq_instance.cpp Show resolved Hide resolved
src/moq_messages.cpp Outdated Show resolved Hide resolved
src/moq_messages.cpp Show resolved Hide resolved
@TimEvens TimEvens merged commit d4229d8 into main Jun 29, 2024
2 checks passed
@TimEvens TimEvens deleted the mv2moq branch July 11, 2024 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants