Dean Herbert
6ca415da9f
Add basic realm models
...
Only the file related ones are really required outside of tests, but
seems like as good an opportunity as ever to get the rest of the models
into the game project.
2021-10-11 15:25:04 +09:00
Dean Herbert
f43badabf4
Add back update thread verification in RealmContextFactory
2021-10-11 15:20:12 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces
2021-10-06 11:38:17 +09:00
Dan Balasescu
9491e5a547
Merge pull request #14954 from peppy/rename-result-response
...
Rename `APIRequest.Result` to `Response`
2021-10-06 10:52:33 +09:00
Dean Herbert
1e4da81120
Fix import notifications not showing correct text
2021-10-05 17:14:09 +09:00
Dean Herbert
b41fa41c85
Rename APIRequest.Result
to Response
2021-10-05 14:28:56 +09:00
Dean Herbert
1d99bc280f
Merge branch 'master' into new-interfaces
2021-10-04 20:42:40 +09:00
Dean Herbert
63f0b0c932
Rename out of place interface name
2021-10-04 16:35:55 +09:00
Dean Herbert
857000b756
Mark IPresentImports
as covariant
2021-10-04 16:29:46 +09:00
Dean Herbert
3c15ef720f
Remove setter from IHasGuidPrimaryKey
interface
2021-10-04 16:26:28 +09:00
Dean Herbert
916342c837
Merge branch 'master' into importer-returns-live
2021-10-04 16:24:26 +09:00
Dan Balasescu
aca2f0c12d
Merge pull request #14901 from peppy/model-importer-split
...
Split importer interface out of `IModelManager`
2021-10-04 16:22:29 +09:00
Dean Herbert
682fe5be78
Merge branch 'master' into realm-context-factory-safer-blocking
2021-10-02 00:30:09 +09:00
Dean Herbert
b1f9bbdc69
Merge branch 'master' into model-importer-split
2021-10-02 00:29:29 +09:00
Dan Balasescu
a620b55d55
Merge pull request #14900 from peppy/model-downloader-split
...
Split `ArchiveModelManager` into two pieces
2021-10-01 23:16:09 +09:00
Dan Balasescu
d24f89fead
Merge pull request #14906 from peppy/update-realm-context-factory
...
Refine `RealmContext` implementation
2021-10-01 22:57:03 +09:00
Dean Herbert
a32f5d44e2
Improve clarity of xmldoc
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-10-01 22:23:51 +09:00
Dean Herbert
d309636460
Update all EF based models to implement new read only interfaces
2021-10-01 16:55:50 +09:00
Dean Herbert
74841cf1a9
Merge branch 'update-realm-context-factory' into realm-context-factory-safer-blocking
2021-10-01 03:54:31 +09:00
Dean Herbert
b51fd00ba3
Guard against disposal in all context retrievals
2021-10-01 03:46:53 +09:00
Dean Herbert
8557530cd5
Add back main context locking
2021-10-01 03:45:00 +09:00
Dean Herbert
cfd3bdf888
Ensure realm blocks until all threaded usages are completed
2021-10-01 01:34:35 +09:00
Dean Herbert
9fa901f6aa
Refine RealmContext
implementation API
2021-09-30 23:56:38 +09:00
Dean Herbert
a2e61883e3
Initial push to use ILive
in import process
2021-09-30 22:55:25 +09:00
Dean Herbert
66409147dc
Remove duplicate interface specification
2021-09-30 19:25:08 +09:00
Dean Herbert
c05a8fc4a2
Split importer interface out of IModelManager
2021-09-30 18:52:09 +09:00
Dean Herbert
3e3b9bc963
Split out IModelDownloader
and also split apart ScoreManager
2021-09-30 18:25:20 +09:00
Dean Herbert
0a00bc7795
Split out IPostNotifications
into an interface
2021-09-30 18:21:34 +09:00
Dean Herbert
5618c9933b
Expose more pieces of ArchiveModelManager
via interfaces
2021-09-30 16:44:39 +09:00
Dean Herbert
d4310f5d9a
Move database connection string operations local
...
In line with framework changes in
https://github.com/ppy/osu-framework/pull/4793 .
2021-09-27 17:32:41 +09:00
Dean Herbert
edb1230111
Fix potential nullref throw on failed startup
2021-09-16 22:48:09 +09:00
Dean Herbert
5bb741b4e8
Remove migration of key bindings
2021-09-15 17:04:38 +09:00
Dean Herbert
fed0e15cea
Fix typo in ArchiveModelManager
2021-08-23 20:23:46 +09:00
Dean Herbert
4bf22db4ff
Attempt to reduce skin lookup overhead where file access is not required
2021-08-17 00:23:30 +09:00
Dean Herbert
d9b5f235d8
Add xmldoc explaining thread safety limitations of IModelManager
"events"
2021-08-10 17:36:59 +09:00
Dean Herbert
459f9a0465
Handle nulls and fix missing documentation
2021-07-05 21:35:37 +09:00
Dean Herbert
9c311a6d8a
Add ability to lookup multiple users at once to UserLookupCache
2021-07-05 19:56:16 +09:00
Dean Herbert
1e4beddd2d
Disable foreign key enforcing at an sqlite level
2021-07-05 15:41:48 +09:00
Dan Balasescu
b82afaddc1
Merge pull request #13767 from peppy/fix-realm-refresh-race
...
Fix thread safety of realm `Refresh` operation
2021-07-05 13:53:29 +09:00
Dean Herbert
f510ef9153
Move previousContext
assign within lock
to make things look safer
...
Not an actual requirement, but no harm.
2021-07-05 10:49:56 +09:00
Bartłomiej Dach
3291f15dcc
Mention GetForWrite()
as another alternative to Context
accesses
2021-07-04 12:08:15 +02:00
Bartłomiej Dach
b89521314f
Mention alternatives to Context
when not on update thread in xmldoc
2021-07-04 12:07:34 +02:00
Dean Herbert
3ec7dc3bb9
Update tests in line with thread safety check
2021-07-04 17:59:39 +09:00
Dean Herbert
567e9f33a9
Fix thread safety of realm Refresh
operation
...
Due to the lack of locking, there was a chance the the update thread
`context` was retrieved just before the `flushContexts` call, followed
by `.Refresh()` being run while the blocking behaviour was invoked.
This can be seen in test failures such as
https://ci.appveyor.com/project/peppy/osu/builds/39859786/tests .
As an aside, I tried multiple different methods to avoid `lock()` on the
update thread but they felt flaky. The overhead of lock when there's no
contention is reportedly around 30-50ns, so likely not of concern. We
can address it at a later point if it becomes one.
2021-07-04 16:24:43 +09:00
Bartłomiej Dach
8a23dfa6f5
Fix optimised import path buffering events without flush
2021-07-03 17:58:12 +02:00
Dean Herbert
2f1203085b
Also add logging of realm block/flush operations
2021-06-29 20:23:25 +09:00
Dan Balasescu
a9084db665
Merge pull request #13673 from peppy/import-early-checksum-abort
...
Shortcut import process to speed up duplicate imports
2021-06-28 19:55:09 +09:00
Dan Balasescu
92fcf90768
Merge branch 'master' into import-early-checksum-abort
2021-06-28 19:29:08 +09:00
Dean Herbert
d4ea73d727
Simplify disposal exceptions
2021-06-28 16:17:09 +09:00
Dean Herbert
f78cedd0e1
Reorder methods and add xmldoc for BlockAllOperations
2021-06-28 16:16:40 +09:00