Commit Graph

109 Commits

Author SHA1 Message Date
François Michel c360ea1416 add generic moq transport trait 2023-07-12 11:38:55 +00:00
François Michel 6ca7ab5124 transport trait: apply shared functions on boxed conn 2023-07-12 11:04:37 +00:00
François Michel f4353892ef transport trait: add shared methods on connection 2023-07-12 12:58:16 +02:00
François Michel 72d11851e1 ensure recvstream's buf is Send 2023-07-11 13:56:27 +00:00
François Michel 9f690f7f00 update transport trait 2023-07-11 11:51:16 +00:00
François Michel 7545027775 implement async methods for connection and streams 2023-07-10 14:41:04 +00:00
François Michel 17b96ff51b remove opener from connection, currently unused 2023-07-10 13:17:09 +00:00
François Michel 31bd538481 remove generic arg from Connection 2023-07-10 13:03:34 +00:00
François Michel 6657464462 fir async server compilation after last change 2023-07-10 12:58:47 +00:00
François Michel c50da7ed37 remove generic arg from OpenStreams 2023-07-10 12:42:26 +00:00
François Michel f33251d69b remove SendStream's send_data as its behaviour is unclear 2023-07-10 11:30:41 +00:00
François Michel 78f68a6fa0 remove datagrams and use anyhow error type by default 2023-07-10 09:00:42 +00:00
François Michel 9d48201504 add generic transport trait 2023-07-10 08:37:20 +00:00
Luke Curley cf2a80b323 Small fixes. 2023-07-08 09:14:15 -07:00
kixelated 7c3eae0a7a
Make moq-transport generic. (#41)
The API is now synchronous and any quinn stuff has been moved to another
package. The quinn stuff will be slowly moved into moq-transport with
generic traits.
2023-07-08 09:13:29 -07:00
Mike English 3c43eed8bd
Dual license (#40)
License under either MIT or Apache 2.0 at licensees' choice.

Offering the option of MIT allows for GPL compatibility, but we can also
allow licensees to choose Apache 2.0 if they prefer.

This is common practice for many Rust projects.
2023-07-05 14:55:40 -07:00
kixelated b77a64c6f3
Change license to MIT. (#39) 2023-06-26 23:30:13 -07:00
kixelated 56adbf89f5
Relay support (#38)
Untested for contribution while I work on JS stuff.
2023-06-26 11:51:06 -07:00
kixelated 3daa2f4812
Cargo layout (#36)
Combine moq-transport and moq-media into one crate again. 

I might regret this because moq is taken on crates.io.
2023-06-16 20:36:07 -07:00
kixelated 4c04fbf2b8
Varint as an explicit type (#35) 2023-06-16 19:52:52 -07:00
kixelated d7872ef77d
Implement (forked) moq-transport-00 (#34)
Not backwards compatible.

JS side: https://github.com/kixelated/moq-js/pull/14
2023-06-16 11:38:19 -07:00
Luke Curley 9c17146746 Minor changes after trying to improve media subscriptions.
Got carried away with traits but it's not worth.
2023-06-08 10:47:15 -07:00
kixelated f0dafdf784
Enable BBR. (#22) 2023-06-08 10:08:18 -07:00
kixelated c88f0b045a
Migrate to quinn and async Rust (#21)
I miss quiche, but it was a pain to do anything asynchronous. MoQ is a
pub/sub protocol so it's very important to support subscribers
joining/leaving/stalling. The API is also just significantly better
since quinn doesn't restrict itself to C bindings, which I'm sure will
come back to haunt me when we want OBS support.
2023-06-08 00:01:34 -07:00
Luke Curley 7cfa5faca2 Correct default media path. 2023-05-30 13:27:16 -07:00
Luke Curley a501f91dae Panic if we can't open the media file. 2023-05-26 14:59:12 -07:00
Luke Curley c09306fd8c Rename the quiche fork. 2023-05-26 14:59:00 -07:00
kixelated 1febcb2e4a
Serve the certificate fingerprint over HTTP (#20)
It's a bloated solution, but it's required for local development until
Chrome supports self-signed WebTransport CAs.
2023-05-24 17:20:44 -07:00
Luke Curley ea918a6327 Oops duplicated web requirements. 2023-05-24 14:29:34 -07:00
Luke Curley 38ea8983d4 Split the web player into it's own repo.
https://github.com/kixelated/moq-js
2023-05-24 13:29:18 -07:00
kixelated fc958e11ae
Split audio into 1s streams (#19) 2023-05-24 12:55:36 -07:00
Luke Curley 05fccc2ae8 Fix decoding. 2023-05-23 15:15:53 -07:00
kixelated f4c8c6cf89
Tabs not spaces u nerds. (#18) 2023-05-23 12:04:27 -07:00
kixelated dfe5cc1771
Merge pull request #17 from kixelated/more-lint
More linting.
2023-05-22 22:11:45 -07:00
Luke Curley d3d1c17520 Use the simple CLI command. 2023-05-22 22:08:34 -07:00
Luke Curley 7b13dfe989 Use a different Github action. 2023-05-22 22:05:07 -07:00
Luke Curley e3ca13dd50 default working-directory 2023-05-22 21:58:05 -07:00
Luke Curley bec525e042 Add working directory. 2023-05-22 21:56:16 -07:00
Luke Curley 7843f8b0e4 Using spaces is WAY better for your career.
This is because in JavaScript, there is a HEAVY perception bias against tab users.

Most ES6 developers look down on anyone who uses tabs.
This could easily mean the difference between getting a job offer and being rejected.
It could mean tens of thousands of dollars of salary potential.

https://medium.com/mintbean-io/tabs-or-spaces-for-practical-javascript-developers-the-answer-is-clear-f66c0458aa1e
2023-05-22 21:49:59 -07:00
Luke Curley cc8792da09 More linting. 2023-05-22 21:43:48 -07:00
kixelated f05bd5a0ac
Merge pull request #16 from kixelated/lint
Lint typescript code
2023-05-22 20:31:09 -07:00
Luke Curley 062cda0b12 Rename some of the events. 2023-05-22 20:23:06 -07:00
Luke Curley 2b943aee8a Generate a cert to fix the issue. 2023-05-22 20:19:07 -07:00
Luke Curley 77be6fa12d Add a GH workflow. 2023-05-22 20:12:14 -07:00
Luke Curley 226f4680a3 Merge remote-tracking branch 'origin/main' into lint 2023-05-22 20:08:48 -07:00
kixelated a1daa3687e
Add a Github action to compile the server 2023-05-22 16:01:40 -07:00
Luke Curley a2371dada6 Add a typescript linter. 2023-05-22 15:54:30 -07:00
kixelated 5410a3767f
Merge pull request #15 from kixelated/quiche
Switch from Go to Rust
2023-05-22 15:25:06 -07:00
Luke Curley 4585a0c04e Merge remote-tracking branch 'origin/main' into quiche 2023-05-22 15:24:43 -07:00
Luke Curley 1137f3024c Add qlog support and update dependencies. 2023-05-22 15:23:15 -07:00