Commit Graph

28 Commits

Author SHA1 Message Date
Salad Dais
adf5295e2b Add start of ProxyParcelManager 2024-01-09 13:41:37 +00:00
Salad Dais
c8791db75e Start adding client-related lib files 2023-12-10 19:52:24 +00:00
Salad Dais
df020281f1 Remove send_message() alias 2022-09-28 11:46:24 +00:00
Salad Dais
dbae2acf27 Add basic AssetUploader class
Should make it less anoying to upload procedurally generated mesh
outside of local mesh mode
2022-07-25 22:08:28 +00:00
Salad Dais
f02a479834 Add get_task_inventory_cap.py addon example
An example of mocking out actually useful behavior for the viewer.
Better (faster!) task inventory fetching API.
2022-07-20 09:20:27 +00:00
Salad Dais
8dba0617bd Make injecting inventory EQ events easier 2022-07-09 04:21:44 +00:00
Salad Dais
fde9ddf4d9 Initial work to support in-flight EQ response pre-emption 2022-07-04 17:57:05 +00:00
Salad Dais
6866e7397f Clean up cap registration API 2021-12-10 13:22:54 +00:00
Salad Dais
3a7f8072a0 Initial implementation of proxy-provided caps
Useful for mocking out a cap while developing the viewer-side
pieces of it.
2021-12-02 03:22:47 +00:00
Salad Dais
02ac022ab3 Add export formats for message log entries 2021-07-30 01:06:29 +00:00
Salad Dais
49a9c6f28f Workaround for failed teleports due to EventQueue timeouts
Closes #16
2021-06-23 16:43:09 +00:00
Salad Dais
41fd67577a Add ability to wait on object-related events 2021-06-12 10:43:16 +00:00
Salad Dais
cb8c1cfe91 Only generate lowercase hostnames in register_wrapper_cap()
Hostnames are case insensitive and passing a URL through urlparse()
will always give you a lowercase domain name.
2021-06-11 17:52:03 +00:00
Salad Dais
5618bcbac1 Add new persistent (Proxy)Settings object, use to pass down settings 2021-06-08 16:55:19 +00:00
Salad Dais
12862fcd02 Keep Avatar wrappers around rather than regenerating them when queried
Allows callers to keep around a reference to an Avatar object and get
updated position and validity information without having to poll the
ObjectManager itself.
2021-06-05 14:23:49 +00:00
Salad Dais
49f7ba960f Move tons more things to lib.base and lib.client
Put an abstract session and region implementation in client so things
that could be logically shared between client/proxy can be.

ObjectManager moved to client with proxy-specific details in
ProxyObjectManager.
2021-06-04 09:31:54 +00:00
Salad Dais
9df0224fbf Split CapsClient into proxy and non-proxy version 2021-06-03 08:02:11 +00:00
Salad Dais
59493e021c Move XferManager and TransferManager to base 2021-06-03 07:04:06 +00:00
Salad Dais
a39d025a04 Move Circuit and Message to lib.base
Fairly invasive, but will help make lib.base useful again. No
more Message / ProxiedMessage split!
2021-06-03 07:00:32 +00:00
Salad Dais
3d8da0af65 Remove TransferManager dependency on ProxiedRegion 2021-06-02 20:01:47 +00:00
Salad Dais
0a45cd3739 Remove XferManager dependency on ProxiedRegion 2021-06-02 11:44:06 +00:00
Salad Dais
8c614404d8 Improve NameCache implementation, share viewer name cache 2021-05-31 12:24:08 +00:00
Salad Dais
ebc02f9a22 Make object handling happen at the world level, fix region handoffs
The previous model didn't really map to how Indra handles objects:
In Indra Local IDs are only really used to look up the FullID, and
that's used to look at a global object list.

This moves to a model where the world (Session) owns the object, and
objects can be freely moved between regions without killing the world's
reference to it.

The two ID design for objects was a mistake in my opinion, but whatever.
2021-05-30 14:24:39 +00:00
Salad Dais
6cc25118b9 Faster cap URL lookup
Was taking up 15% of proxy time, so worth optimizing.
2021-05-29 06:19:09 +00:00
Salad Dais
2608a02d5c Use viewer's object cache to better handle ObjectUpdateCached hits
Without this we end up in weird cases where the viewer gets a cache
hit and never request the object data, creating link heirarchies where
the viewer knows about all the prims but Hippolyzer only knows some
of them and orphans them.

Since we don't know what viewer the user is using, we scan around
the disk for object caches and try to use those. 99% of the time the
connection will be coming from localhost so this is fine.

Fixes #11
2021-05-28 02:18:20 +00:00
Salad Dais
376b100ed9 Asset server proxying speedups
Should help with #7, will need to check on Windows.
2021-05-17 07:39:26 +00:00
Salad Dais
7836527305 Add NameCache CoarseLocation-only Avatars can be named 2021-05-17 01:50:40 +00:00
Salad Dais
d663d92418 Import Hippolyzer 2021-04-30 17:30:24 +00:00