Commit graph

130 commits

Author SHA1 Message Date
Stepan Goremykin
38d962242a Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Updates/InstallationManager.cs
#	tests/Jellyfin.Server.Integration.Tests/OpenApiSpecTests.cs
2023-10-14 00:45:52 +02:00
Bond_009
d7748cfa04 Multiple Stream changes
* Remove useless MemoryStream in DlnaHttpClient
* Use HttpContent.ReadFromJsonAsync extension
* Call ConfigureAwait for IAsyncDisposable
* Use HttpContent.CopyToAsync where possible
2023-10-11 18:32:57 +02:00
Stepan Goremykin
73309f2649 Pass cancellation token 2023-10-07 23:50:45 +02:00
Bond_009
d8ec3a5470 Reduce usage of GetAwaiter().GetResult() 2023-03-14 12:05:49 +01:00
Bond_009
4b01aaa0f7 Allocate less Lists 2023-03-01 00:44:57 +01:00
Patrick Barron
f7ec85d7a0 Use dependency injection for IChannel 2023-01-27 18:46:54 -05:00
Bond_009
b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00
Bond_009
52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009
c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Bond_009
a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
Bond_009
f50a250cd9 Optimize Guid comparisons
* Use Guid.Equals(Guid) instead of the == override
* Ban the usage of Guid.Equals(Object) to prevent accidental boxing
* Compare to default(Guid) instead of Guid.Empty
2022-02-21 14:15:09 +01:00
Bond_009
5732e6188c Fix some warnings 2022-02-15 18:59:46 +01:00
Bond_009
2dcb2f8a9f Ban the usage of Task.Result
If the calling function can't be made async easily you can still use
.GetAwaiter().GetResult(), which is way easier to find in the future
2022-01-22 16:48:31 +01:00
Cody Robibero
a60cb280a3 Properly populate QueryResult 2022-01-20 08:53:06 -07:00
Cody Robibero
7bfc6b5679 Remove more warnings 2021-12-27 07:38:06 -07:00
cvium
b880dc8a4a Use our own Contains extension 2021-12-20 13:31:07 +01:00
Cody Robibero
32629cd7da Use BaseItemKind where possible 2021-12-12 06:11:27 -07:00
Bond_009
257e1be95f Fix some warnings 2021-11-16 16:31:57 +01:00
Bond_009
1b6eb2ff2d Enable nullable for more files 2021-10-26 13:56:30 +02:00
Patrick Barron
25b68bc3b2 Fix warnings in ChannelManager 2021-10-03 21:41:22 -04:00
Claus Vium
74fef6c05b
Merge pull request #6177 from Bond-009/async
Use async FileStreams where it makes sense
2021-09-06 13:55:34 +02:00
Bond_009
e3dac4fda2 Use async FileStreams where it makes sense 2021-09-02 14:02:04 +02:00
Cody Robibero
cba07b1ca6 Remove more and more warnings 2021-08-28 16:32:50 -06:00
Bond_009
19824bff94 Minor improvements 2021-08-15 23:48:19 +02:00
Bond_009
6f8ccab788 Move non-jellyfin extensions to separate project 2021-06-19 18:04:46 +02:00
Bond_009
7e8428e588 Enable nullable reference types for Emby.Server.Implementations 2021-05-20 22:48:53 +02:00
BaronGreenback
bc1cc2d04a Remove unused using directives 2021-04-17 11:37:55 +01:00
Bond_009
a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009
1ea2b200c0 JsonSerializer deserialize from bytes where possible
This is faster and uses way less memory
```
BenchmarkDotNet=v0.12.1, OS=fedora 32
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100
  [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
  DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT

| Method |     Mean |   Error |  StdDev |   Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|--------:|--------:|--------:|------:|------:|----------:|
|  Bytes | 158.4 us | 2.56 us | 2.14 us | 16.8457 |     - |     - |  52.08 KB |
| String | 172.8 us | 0.78 us | 0.70 us | 41.5039 |     - |     - | 127.82 KB |
| Custom | 155.5 us | 2.95 us | 2.76 us | 10.0098 |     - |     - |  31.27 KB |
```
2021-01-12 15:28:02 +01:00
David
3dec1fd6b2 Use UTF8 encoding and async correctly 2020-12-29 00:35:59 +01:00
David
043d045448 Put json serializer options in private field 2020-12-24 11:22:34 +01:00
David
e835dfb27d Use sync string instead of file 2020-12-24 10:31:51 +01:00
David
a714008b59 Add missing FileStreams 2020-12-23 21:00:50 +01:00
David
2a574914ea Use streams instead of strings 2020-12-23 19:24:58 +01:00
David
f38970cbd3 Remove xml docs 2020-12-23 15:03:14 +01:00
David
196388d607 Remove custom Json serializer from Emby.Server.Implementations 2020-12-23 13:14:40 +01:00
crobibero
821ad79992 fix spacing 2020-12-01 11:09:01 -07:00
crobibero
c083b29e29 Use Guid as API parameter type where possible 2020-12-01 11:07:41 -07:00
crobibero
3cc0dd7e12 Reduce RequestHelpers.Split usage and remove RequestHelpers.GetGuids usage. 2020-11-16 20:29:46 -07:00
Bond_009
b21919c7f4 Minor perf improvements 2020-11-06 16:15:30 +01:00
Bond_009
49569ca0a0 Use nameof where possible 2020-10-17 16:19:57 +02:00
Bond_009
e653eef44f Fix some warnings 2020-08-31 22:20:19 +02:00
Bond_009
119f64f5e7 Make some methods async 2020-08-21 22:01:19 +02:00
Patrick Barron
bea519de5b Fix MemoryCache Usage. 2020-08-07 13:22:18 -04:00
Bond-009
b7421db5fe
Merge pull request #3578 from barronpm/displaypreferences-efcore
Migrate Display Preferences to EF Core
2020-08-01 21:51:49 +02:00
Patrick Barron
c77abca31a Use MemoryCache in ChannelManager 2020-07-29 17:33:40 -04:00
Patrick Barron
ab396225ea Migrate Display Preferences to EF Core 2020-07-17 16:11:53 -04:00
telans
acd4389653
fix SA1005 2020-06-15 10:41:00 +12:00
Patrick Barron
42b4f0aa2e Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/Library/UserManager.cs
#	Jellyfin.Data/Jellyfin.Data.csproj
2020-06-13 19:41:05 -04:00
crobibero
44957c5a9a Use typed logger where possible 2020-06-05 18:15:56 -06:00