7bb401b974
Merge pull request #15040 from peppy/realm-test-game-host
...
Update realm tests to run inside a `GameHost` to allow running on update thread
2021-10-12 21:16:06 +09:00
b01d82b3fd
Add RealmLive
implementation
2021-10-11 15:36:41 +09:00
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
f43badabf4
Add back update thread verification in RealmContextFactory
2021-10-11 15:20:12 +09:00
c7675be3ef
Fix typo in IModelImporter
's xmldoc
2021-10-11 15:12:51 +09:00
4bbff2ebf7
Merge branch 'master' into new-interfaces
2021-10-06 11:38:17 +09:00
9491e5a547
Merge pull request #14954 from peppy/rename-result-response
...
Rename `APIRequest.Result` to `Response`
2021-10-06 10:52:33 +09:00
1e4da81120
Fix import notifications not showing correct text
2021-10-05 17:14:09 +09:00
b41fa41c85
Rename APIRequest.Result
to Response
2021-10-05 14:28:56 +09:00
1d99bc280f
Merge branch 'master' into new-interfaces
2021-10-04 20:42:40 +09:00
63f0b0c932
Rename out of place interface name
2021-10-04 16:35:55 +09:00
857000b756
Mark IPresentImports
as covariant
2021-10-04 16:29:46 +09:00
3c15ef720f
Remove setter from IHasGuidPrimaryKey
interface
2021-10-04 16:26:28 +09:00
916342c837
Merge branch 'master' into importer-returns-live
2021-10-04 16:24:26 +09:00
aca2f0c12d
Merge pull request #14901 from peppy/model-importer-split
...
Split importer interface out of `IModelManager`
2021-10-04 16:22:29 +09:00
682fe5be78
Merge branch 'master' into realm-context-factory-safer-blocking
2021-10-02 00:30:09 +09:00
b1f9bbdc69
Merge branch 'master' into model-importer-split
2021-10-02 00:29:29 +09:00
a620b55d55
Merge pull request #14900 from peppy/model-downloader-split
...
Split `ArchiveModelManager` into two pieces
2021-10-01 23:16:09 +09:00
d24f89fead
Merge pull request #14906 from peppy/update-realm-context-factory
...
Refine `RealmContext` implementation
2021-10-01 22:57:03 +09:00
a32f5d44e2
Improve clarity of xmldoc
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me >
2021-10-01 22:23:51 +09:00
d309636460
Update all EF based models to implement new read only interfaces
2021-10-01 16:55:50 +09:00
74841cf1a9
Merge branch 'update-realm-context-factory' into realm-context-factory-safer-blocking
2021-10-01 03:54:31 +09:00
b51fd00ba3
Guard against disposal in all context retrievals
2021-10-01 03:46:53 +09:00
8557530cd5
Add back main context locking
2021-10-01 03:45:00 +09:00
cfd3bdf888
Ensure realm blocks until all threaded usages are completed
2021-10-01 01:34:35 +09:00
9fa901f6aa
Refine RealmContext
implementation API
2021-09-30 23:56:38 +09:00
a2e61883e3
Initial push to use ILive
in import process
2021-09-30 22:55:25 +09:00
66409147dc
Remove duplicate interface specification
2021-09-30 19:25:08 +09:00
c05a8fc4a2
Split importer interface out of IModelManager
2021-09-30 18:52:09 +09:00
3e3b9bc963
Split out IModelDownloader
and also split apart ScoreManager
2021-09-30 18:25:20 +09:00
0a00bc7795
Split out IPostNotifications
into an interface
2021-09-30 18:21:34 +09:00
5618c9933b
Expose more pieces of ArchiveModelManager
via interfaces
2021-09-30 16:44:39 +09:00
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
edb1230111
Fix potential nullref throw on failed startup
2021-09-16 22:48:09 +09:00
5bb741b4e8
Remove migration of key bindings
2021-09-15 17:04:38 +09:00
fed0e15cea
Fix typo in ArchiveModelManager
2021-08-23 20:23:46 +09:00
4bf22db4ff
Attempt to reduce skin lookup overhead where file access is not required
2021-08-17 00:23:30 +09:00
d9b5f235d8
Add xmldoc explaining thread safety limitations of IModelManager
"events"
2021-08-10 17:36:59 +09:00
459f9a0465
Handle nulls and fix missing documentation
2021-07-05 21:35:37 +09:00
9c311a6d8a
Add ability to lookup multiple users at once to UserLookupCache
2021-07-05 19:56:16 +09:00
1e4beddd2d
Disable foreign key enforcing at an sqlite level
2021-07-05 15:41:48 +09:00
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
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
3291f15dcc
Mention GetForWrite()
as another alternative to Context
accesses
2021-07-04 12:08:15 +02:00
b89521314f
Mention alternatives to Context
when not on update thread in xmldoc
2021-07-04 12:07:34 +02:00
3ec7dc3bb9
Update tests in line with thread safety check
2021-07-04 17:59:39 +09:00
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
8a23dfa6f5
Fix optimised import path buffering events without flush
2021-07-03 17:58:12 +02:00
2f1203085b
Also add logging of realm block/flush operations
2021-06-29 20:23:25 +09:00
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