From 9d7f96edd87f41694432d1de8ea65e8ea5509ad8 Mon Sep 17 00:00:00 2001 From: Jeremy Koletar Date: Thu, 9 Oct 2014 17:06:05 -0500 Subject: [PATCH] protocol: Create contextualized object entry messages This helps the the client agent keep normal object entry (not due to a request) separate from the object entry caused by the OBJECT_GET_ZONES_OBJECTS message. --- docs/protocol/12-stateserver.md | 12 ++++++++++++ src/core/msgtypes.h | 2 ++ test/common/astron.py | 2 ++ 3 files changed, 16 insertions(+) diff --git a/docs/protocol/12-stateserver.md b/docs/protocol/12-stateserver.md index fa6a9d959..2f006d048 100644 --- a/docs/protocol/12-stateserver.md +++ b/docs/protocol/12-stateserver.md @@ -3,6 +3,7 @@ State-Server Behavior **Authors** Sam "CFSworks" Edwards (08-30-2013) Kevin "Kestred" Stenerson (09-04-2013) +Jeremy "jjkoletar" Koletar (10-09-2014) ### Section 0: Abstract ### @@ -176,6 +177,17 @@ to one object at a time. > clients with interest in the object may not be privy to those fields. +**STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED(2066)** + `args(uint32 context, uint32 do_id, uint32 parent_id, uint32 zone_id, + uint16 dclass_id, )` +**STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED_OTHER(2067)** + `args(uint32 context, uint32 do_id, uint32 parent_id, uint32 zone_id, + uint16 dclass_id, , )` +> Identical to OBJECT_ENTER_LOCATION except for the context at the beginning, +> this message exists to differentiate object entry initiated by a GET_ZONES_OBJECT-type +> query from normal object entry. + + **STATESERVER_OBJECT_GET_LOCATION(2044)** `args(uint32 context)` **STATESERVER_OBJECT_GET_LOCATION_RESP(2045):** `args(uint32 context, uint32 do_id, uint32 parent_id, uint32 zone_id)` diff --git a/src/core/msgtypes.h b/src/core/msgtypes.h index a4939c96c..88b523d2f 100644 --- a/src/core/msgtypes.h +++ b/src/core/msgtypes.h @@ -95,6 +95,8 @@ enum MessageTypes { STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED_OTHER = 2063, STATESERVER_OBJECT_GET_OWNER = 2064, STATESERVER_OBJECT_GET_OWNER_RESP = 2065, + STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED = 2066, + STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED_OTHER = 2067, // StateServer parent-method messages STATESERVER_OBJECT_GET_ZONE_OBJECTS = 2100, STATESERVER_OBJECT_GET_ZONES_OBJECTS = 2102, diff --git a/test/common/astron.py b/test/common/astron.py index 314a18a5f..0a89df6c4 100644 --- a/test/common/astron.py +++ b/test/common/astron.py @@ -120,6 +120,8 @@ def stop(self): 'STATESERVER_OBJECT_ENTER_OWNER_WITH_REQUIRED_OTHER': 2063, 'STATESERVER_OBJECT_GET_OWNER': 2064, 'STATESERVER_OBJECT_GET_OWNER_RESP': 2065, + 'STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED': 2066, + 'STATESERVER_OBJECT_ENTER_INTEREST_WITH_REQUIRED_OTHER': 2067, # State Server parent methods message-type constants 'STATESERVER_OBJECT_GET_ZONE_OBJECTS': 2100, 'STATESERVER_OBJECT_GET_ZONES_OBJECTS': 2102,