File tree Expand file tree Collapse file tree 3 files changed +5
-22
lines changed Expand file tree Collapse file tree 3 files changed +5
-22
lines changed Original file line number Diff line number Diff line change 1
1
![ Icon] ( https://raw.githubusercontent.com/devlooped/WebSocketeer/main/assets/img/icon.png ) WebSocketeer
2
2
============
3
3
4
- High-performance intuitive API for Azure Web PubSub protobuf subprotocol
4
+ A thin, intuitive, idiomatic and high-performance API for
5
+ Azure Web PubSub [ protobuf subprotocol] ( https://docs.microsoft.com/en-us/azure/azure-web-pubsub/reference-protobuf-webpubsub-subprotocol ) .
5
6
6
7
[ ![ Version] ( https://img.shields.io/nuget/v/WebSocketeer.svg?color=royalblue )] ( https://www.nuget.org/packages/WebSocketeer )
7
8
[ ![ Downloads] ( https://img.shields.io/nuget/dt/WebSocketeer.svg?color=green )] ( https://www.nuget.org/packages/WebSocketeer )
Original file line number Diff line number Diff line change 5
5
<RootNamespace >Devlooped.Net</RootNamespace >
6
6
<PackageId >WebSocketeer</PackageId >
7
7
<ImplicitUsings >true</ImplicitUsings >
8
- <Description >High-performance intuitive API for Azure Web PubSub protobuf subprotocol</Description >
8
+ <Description >A thin, intuitive, idiomatic and high-performance layer for Azure Web PubSub protobuf subprotocol. </Description >
9
9
</PropertyGroup >
10
10
11
11
<ItemGroup >
Original file line number Diff line number Diff line change 1
- Azure Web PubSub [ protobuf subprotocol] ( https://docs.microsoft.com/en-us/azure/azure-web-pubsub/reference-protobuf-webpubsub-subprotocol )
2
- is super awesome and general purpose and I can see endless applications
3
- for this new service from Azure. The message-based nature of its "API" is
4
- not very intuitive or idiomatic for a dotnet developer though, I think.
5
-
6
- I wanted to create a super thin layer on top that didn't incur unnecessary
7
- allocations or buffer handling or extra threads, since that would detract
8
- from the amazing work on performance that .NET 5 (and 6!) are bringing to
9
- the table. I use the [ best practices] ( https://docs.microsoft.com/en-us/aspnet/core/grpc/performance?view=aspnetcore-5.0#send-binary-payloads )
10
- for sending binary payloads using low-level (and quite new!) protobuf
11
- APIs for avoiding unnecessary buffer creation/handling.
12
-
13
- In order to also squeeze every bit of performance, this project uses the
14
- protobuf subprotocol exclusively, even though there is support in the service
15
- for [ JSON] ( https://docs.microsoft.com/en-us/azure/azure-web-pubsub/reference-json-webpubsub-subprotocol )
16
- payloads.
17
-
18
- The actual binary payloads you send/receive can of course be decoded into
19
- any format you need, including JSON if you just encode/decode it as UTF8 bytes.
20
-
1
+ A thin, intuitive, idiomatic and high-performance API for
2
+ Azure Web PubSub [ protobuf subprotocol] ( https://docs.microsoft.com/en-us/azure/azure-web-pubsub/reference-protobuf-webpubsub-subprotocol ) .
21
3
22
4
# Usage
23
5
You can’t perform that action at this time.
0 commit comments