Routes list is empty under some conditions
target-san opened this issue ยท 3 comments
List of available routes cannot be properly retrieved before certain time point in server tick processing. Patch with logging to reproduce: http://pastebin.com/6M2AtPnq
Logging received (two junction pipes connected via two stone pipes):
2014-03-25 16:02:12 [INFO] [STDOUT] Route query packet:
2014-03-25 16:02:12 [INFO] [STDOUT]
2014-03-25 16:02:12 [INFO] [STDOUT] Server-side activate:
2014-03-25 16:02:12 [INFO] [STDOUT] 9c9cec72-9f05-4517-8bdc-38efd99ace6e
2014-03-25 16:02:12 [INFO] [STDOUT] c6022f94-f865-4fba-9883-01f441476bdc
2014-03-25 16:02:12 [INFO] [STDOUT]
As you can see, the first packet processed is the one sent from client during activation, and the activation packet is the second one.
Multiple activations show the same result.
Debugger shows that routes list is zero-sized array inside list query packet processor.
UPD: For some reason, local router got via getRouter and the one got via RouterServices are different objects.
UPD: seems that Router and RouterServices objects are just a bit inconsistent. Will try to squash them both into single object and make their behavior consistent.