switched session.metadata to just be a standard dict, fixed shutdown service issue during session.data_collect

This commit is contained in:
Blake Harnden 2019-10-30 13:27:12 -07:00
parent fe95f246d4
commit 79dfbaa3ec
7 changed files with 22 additions and 40 deletions

View file

@ -343,8 +343,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
logging.debug("get session metadata: %s", request)
session = self.get_session(request.session_id, context)
config = session.metadata.get_configs()
return core_pb2.GetSessionMetadataResponse(config=config)
return core_pb2.GetSessionMetadataResponse(config=session.metadata)
def SetSessionMetadata(self, request, context):
"""
@ -357,7 +356,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
logging.debug("set session metadata: %s", request)
session = self.get_session(request.session_id, context)
session.metadata.set_configs(request.config)
session.metadata = dict(request.config)
return core_pb2.SetSessionMetadataResponse(result=True)
def GetSession(self, request, context):

View file

@ -430,9 +430,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
tlv_data += coreapi.CoreRegisterTlv.pack(
self.session.options.config_type, self.session.options.name
)
tlv_data += coreapi.CoreRegisterTlv.pack(
self.session.metadata.config_type, self.session.metadata.name
)
tlv_data += coreapi.CoreRegisterTlv.pack(RegisterTlvs.UTILITY.value, "metadata")
return coreapi.CoreRegMessage.pack(MessageFlags.ADD.value, tlv_data)
@ -1046,7 +1044,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
replies = self.handle_config_session(message_type, config_data)
elif config_data.object == self.session.location.name:
self.handle_config_location(message_type, config_data)
elif config_data.object == self.session.metadata.name:
elif config_data.object == "metadata":
replies = self.handle_config_metadata(message_type, config_data)
elif config_data.object == "broker":
self.handle_config_broker(message_type, config_data)
@ -1132,7 +1130,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
replies = []
if message_type == ConfigFlags.REQUEST:
node_id = config_data.node
metadata_configs = self.session.metadata.get_configs()
metadata_configs = self.session.metadata
if metadata_configs is None:
metadata_configs = {}
data_values = "|".join(
@ -1142,7 +1140,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
config_response = ConfigData(
message_type=0,
node=node_id,
object=self.session.metadata.name,
object="metadata",
type=ConfigFlags.NONE.value,
data_types=data_types,
data_values=data_values,
@ -1152,7 +1150,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
values = ConfigShim.str_to_dict(config_data.data_values)
for key in values:
value = values[key]
self.session.metadata.set_config(key, value)
self.session.metadata[key] = value
return replies
def handle_config_broker(self, message_type, config_data):
@ -1951,18 +1949,17 @@ class CoreHandler(socketserver.BaseRequestHandler):
self.session.broadcast_config(config_data)
# send session metadata
metadata_configs = self.session.metadata.get_configs()
metadata_configs = self.session.metadata
if metadata_configs:
data_values = "|".join(
[f"{x}={metadata_configs[x]}" for x in metadata_configs]
)
data_types = tuple(
ConfigDataTypes.STRING.value
for _ in self.session.metadata.get_configs()
ConfigDataTypes.STRING.value for _ in self.session.metadata
)
config_data = ConfigData(
message_type=0,
object=self.session.metadata.name,
object="metadata",
type=ConfigFlags.NONE.value,
data_types=data_types,
data_values=data_values,