Commit graph

125 commits

Author SHA1 Message Date
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
Patrick Barron 06f9cde22f Merge branch 'master' into userdb-efcore
# Conflicts:
#	Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs
#	Emby.Server.Implementations/Library/UserManager.cs
#	Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
#	Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
#	Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
#	Emby.Server.Implementations/TV/TVSeriesManager.cs
#	Jellyfin.Server.Implementations/Users/DefaultAuthenticationProvider.cs
2020-06-04 16:52:23 -04:00
Bond_009 4748105dce Enable TreatWarningsAsErrors for Jellyfin.Server.Implementations in Release mode 2020-05-29 11:28:19 +02:00
Patrick Barron c464f700db Remove redundant qualifiers 2020-05-20 13:07:53 -04:00
Patrick Barron 9ad839c776 Initial migration code 2020-05-12 22:10:35 -04:00
Patrick Barron 7586c60224
Merge branch 'master' into warnings-cleanup1 2020-04-22 13:44:20 +00:00