Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor!: remove legacy metrics api, event publishing to core-data #440

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 1 addition & 12 deletions src/c/config.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2022
* Copyright (c) 2018-2023
* IoTech Ltd
*
* SPDX-License-Identifier: Apache-2.0
Expand Down Expand Up @@ -87,7 +87,6 @@ iot_data_t *edgex_config_defaults (const iot_data_t *driverconf, const char *svc
iot_data_string_map_add (result, "Service/CORSConfiguration/CORSMaxAge", iot_data_alloc_ui32 (3600));

iot_data_string_map_add (result, "Device/Labels", iot_data_alloc_string ("", IOT_DATA_REF));
iot_data_string_map_add (result, "Device/UseMessageBus", iot_data_alloc_bool (false));
iot_data_string_map_add (result, "Device/ProfilesDir", iot_data_alloc_string ("", IOT_DATA_REF));
iot_data_string_map_add (result, "Device/DevicesDir", iot_data_alloc_string ("", IOT_DATA_REF));
iot_data_string_map_add (result, "Device/EventQLength", iot_data_alloc_ui32 (0));
Expand Down Expand Up @@ -312,10 +311,8 @@ void edgex_device_parseTomlClients
{
if (clients)
{
parseClient (lc, toml_table_in (clients, "core-data"), &endpoints->data, err);
iain-anderson marked this conversation as resolved.
Show resolved Hide resolved
parseClient (lc, toml_table_in (clients, "core-metadata"), &endpoints->metadata, err);
}
checkClientOverride (lc, "CORE_DATA", &endpoints->data);
checkClientOverride (lc, "CORE_METADATA", &endpoints->metadata);
}

Expand Down Expand Up @@ -696,7 +693,6 @@ void edgex_device_freeConfig (devsdk_service_t *svc)
free (svc->config.service.labels);
}

free (svc->config.endpoints.data.host);
free (svc->config.endpoints.metadata.host);

iot_data_free (svc->config.sdkconf);
Expand Down Expand Up @@ -745,7 +741,6 @@ static JSON_Value *edgex_device_config_toJson (devsdk_service_t *svc)
json_object_set_boolean
(dobj, "UpdateLastConnected", svc->config.device.updatelastconnected);
json_object_set_uint (dobj, "EventQLength", svc->config.device.eventqlen);
json_object_set_boolean (dobj, "UseMessageBus", iot_data_string_map_get_bool (svc->config.sdkconf, "Device/UseMessageBus", false));

JSON_Value *lval = json_value_init_array ();
JSON_Array *larr = json_value_get_array (lval);
Expand Down Expand Up @@ -781,12 +776,6 @@ static JSON_Value *edgex_device_config_toJson (devsdk_service_t *svc)
json_object_set_uint (mobj, "Port", svc->config.endpoints.metadata.port);
json_object_set_value (cobj, "Metadata", mval);

dval = json_value_init_object ();
dobj = json_value_get_object (dval);
json_object_set_string (dobj, "Host", svc->config.endpoints.data.host);
json_object_set_uint (dobj, "Port", svc->config.endpoints.data.port);
json_object_set_value (cobj, "Data", dval);

json_object_set_value (obj, "Clients", cval);

mval = json_value_init_object ();
Expand Down
3 changes: 1 addition & 2 deletions src/c/config.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2020
* Copyright (c) 2018-2023
* IoTech Ltd
*
* SPDX-License-Identifier: Apache-2.0
Expand Down Expand Up @@ -42,7 +42,6 @@ typedef struct edgex_device_service_endpoint

typedef struct edgex_service_endpoints
{
edgex_device_service_endpoint data;
edgex_device_service_endpoint metadata;
} edgex_service_endpoints;

Expand Down
59 changes: 0 additions & 59 deletions src/c/data-rest.c

This file was deleted.

17 changes: 0 additions & 17 deletions src/c/data-rest.h

This file was deleted.

4 changes: 1 addition & 3 deletions src/c/data.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2020
* Copyright (c) 2018-2023
* IoTech Ltd
*
* SPDX-License-Identifier: Apache-2.0
Expand Down Expand Up @@ -84,8 +84,6 @@ typedef struct edgex_data_client_t

typedef struct edgex_device_service_endpoint edgex_device_service_endpoint;

edgex_data_client_t *edgex_data_client_new_rest (const edgex_device_service_endpoint *e, iot_logger_t *lc, iot_threadpool_t *queue);

void edgex_data_client_free (edgex_data_client_t *client);

void edgex_data_client_add_event (edgex_data_client_t *client, edgex_event_cooked *eventval, devsdk_metrics_t *metrics);
Expand Down
22 changes: 18 additions & 4 deletions src/c/examples/bitfields/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
HealthCheckInterval = "10s"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -23,3 +19,21 @@
Labels = [ "Bitfields" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-bitfields"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/counters/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
HealthCheckInterval = "10s"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -23,3 +19,21 @@
Labels = [ "Counter" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-counters"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/discovery/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@
HealthCheckInterval = "10s"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -30,3 +26,21 @@
Labels = [ "Template" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-discovery"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/file/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,28 @@
LogLevel = "DEBUG"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881

[Device]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-file"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/gyro/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
HealthCheckInterval = "10s"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -23,3 +19,21 @@
Labels = [ "Gyro" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-gyro"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/random/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
ServerBindAddr = "0.0.0.0" # Empty defaults to listen to Host address. In case listen to all put 0.0.0.0 instead

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -24,3 +20,21 @@
Labels = [ "Random" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-random"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
22 changes: 18 additions & 4 deletions src/c/examples/res/configuration.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@
HealthCheckInterval = "10s"

[Clients]
[Clients.core-data]
Host = "localhost"
Port = 59880

[Clients.core-metadata]
Host = "localhost"
Port = 59881
Expand All @@ -30,3 +26,21 @@
Labels = [ "Template" ]
ProfilesDir = "res/profiles"
DevicesDir = "res/devices"

[MessageBus]
Protocol = "redis"
Host = "localhost"
Port = 6379
Type = "redis"
AuthMode = "usernamepassword" # required for redis messagebus (secure or insecure)
SecretName = "redisdb"
[MessageBus.Optional]
ClientId = "device-template"
Qos = 0 # Quality of Sevice values are 0 (At most once), 1 (At least once) or 2 (Exactly once)
KeepAlive = 10 # Seconds (must be 2 or greater)
Retained = false
SkipCertVerify = false
[MessageBus.Topics]
PublishTopicPrefix = "edgex/events/device" # /<device-profile-name>/<device-name>/<source-name> will be added to this Publish Topic prefix
CommandRequestTopic = "edgex/device/command/request/device-bacnet/#" # subscribing for inbound command requests
CommandResponseTopicPrefix = "edgex/device/command/response" # publishing outbound command responses; <device-service>/<device-name>/<command-name>/<method> will be added to this publish topic prefix
Loading