- Modify data type for message ID & message TTL (uint64_t: %llu->%lld).
- Rename NSConsumerQueueScheduler file name to NSConsumerScheduler.
- Modify NSConsumerScheduler to process sync type command for GetProvider.
- Add APIs to get message/provider
Change-Id: Ie40166fd6674bad162df9ead064a70b7e696ef13
Signed-off-by: YounghyunJoo <yh_.joo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/9193
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Tested-by: Uze Choi <uzchoi@samsung.com>
void onNotificationPosted(NSMessage * notification)
{
- printf("id : %llu\n", notification->messageId);
+ printf("id : %lld\n", notification->messageId);
printf("title : %s\n", notification->title);
printf("content : %s\n", notification->contentText);
printf("source : %s\n", notification->sourceName);
void onNotificationSync(NSSyncInfo * sync)
{
- printf("Sync ID : %llu\n", sync->messageId);
+ printf("Sync ID : %lld\n", sync->messageId);
printf("Sync STATE : %d\n", sync->state);
}
NSResult NSConsumerSendSyncInfo(
const char * providerId, uint64_t messageId, NSSyncType type);
+NSProvider * NSConsumerGetProvider(const char * providerId);
+
+NSMessage * NSConsumerGetMessage(uint64_t messageId);
+
#ifdef __cplusplus
}
#endif // __cplusplus
((level) == 0) ? "DEBUG" : \
((level) == 1) ? "INFO" : \
((level) == 2) ? "WARNING" : \
- ((level) == 3) ? "ERROR" : "FATAL")
+ ((level) == 3) ? "ERROR" : "FATAL")
#define NS_LOG_V(level, format, ...) \
{ \
printf("%s: %s ", NS_CONVERT_LEVEL(level), __NS_FILE__); \
OICFree(providerId);
NS_LOG_V(DEBUG, "Provider ID : %s", retSync->providerId);
- NS_LOG_V(DEBUG, "Sync ID : %llu", retSync->messageId);
+ NS_LOG_V(DEBUG, "Sync ID : %lld", retSync->messageId);
NS_LOG_V(DEBUG, "Sync State : %d", (int) retSync->state);
NS_LOG(DEBUG, "NSGetSyncInfo - OUT");
OCRepPayloadGetPropInt(payload, NS_ATTRIBUTE_TTL, (int64_t *)&retMsg->ttl);
NS_LOG_V(DEBUG, "Msg Address : %s", retMsg->i_addr->addr);
- NS_LOG_V(DEBUG, "Msg ID : %llu", retMsg->messageId);
+ NS_LOG_V(DEBUG, "Msg ID : %lld", retMsg->messageId);
NS_LOG_V(DEBUG, "Msg Title : %s", retMsg->title);
NS_LOG_V(DEBUG, "Msg Content : %s", retMsg->contentText);
NS_LOG_V(DEBUG, "Msg Source : %s", retMsg->sourceName);
NS_LOG_V(DEBUG, "Msg Type : %d", retMsg->type);
NS_LOG_V(DEBUG, "Msg Date : %s", retMsg->dateTime);
- NS_LOG_V(DEBUG, "Msg ttl : %llu", retMsg->ttl);
+ NS_LOG_V(DEBUG, "Msg ttl : %lld", retMsg->ttl);
return retMsg;
}
NSSyncInfo * retSync = NSCreateSyncInfo_consumer(id, pId, (NSSyncType)state);
NS_VERIFY_NOT_NULL(retSync, NULL);
- NS_LOG_V(DEBUG, "Sync ID : %llu", retSync->messageId);
+ NS_LOG_V(DEBUG, "Sync ID : %lld", retSync->messageId);
NS_LOG_V(DEBUG, "Sync State : %d", (int) retSync->state);
NS_LOG_V(DEBUG, "Sync Provider ID : %s", retSync->providerId);
#include "NSCommon.h"
#include "NSConsumerCommon.h"
#include "NSConstants.h"
-#include "NSConsumerQueueScheduler.h"
+#include "NSConsumerScheduler.h"
#include "oic_malloc.h"
#include "oic_string.h"
return NSConsumerPushEvent(discoverTask);
}
+NSProvider * NSConsumerGetProvider(const char * providerId)
+{
+ NS_VERIFY_NOT_NULL(providerId, NULL);
+
+ return (NSProvider *) NSConsumerFindNSProvider(providerId);
+}
+
+NSMessage * NSConsumerGetMessage(uint64_t messageId)
+{
+ char msgId[NS_DEVICE_ID_LENGTH] = { 0, };
+ snprintf(msgId, NS_DEVICE_ID_LENGTH, "%lld", messageId);
+
+ return (NSMessage *) NSConsumerFindNSMessage(msgId);
+}
+
NSResult NSDropNSMessage(NSMessage * obj)
{
NS_VERIFY_NOT_NULL(obj, NS_ERROR);
NSSetMessageCacheList(MessageCache);
}
- NSMessage_consumer * retMsg = NSStorageRead(MessageCache, messageId);
+ NSCacheElement * cacheElement = NSStorageRead(MessageCache, messageId);
- return retMsg;
+ return (NSMessage_consumer *) cacheElement->data;
}
NSProvider_internal * NSProviderCacheFind(const char * providerId)
NSSetMessageCacheList(ProviderCache);
}
- NSProvider_internal * retMsg = NSStorageRead(ProviderCache, providerId);
+ NSCacheElement * cacheElement = NSStorageRead(ProviderCache, providerId);
- return retMsg;
+ return (NSProvider_internal *) cacheElement->data;
}
{
NS_VERIFY_NOT_NULL_V(provider);
- NSCacheElement * cacheElement = NSProviderCacheFind(provider->providerId);
- NS_VERIFY_NOT_NULL_V(cacheElement);
+ NSProvider_internal * providerCacheData = NSProviderCacheFind(provider->providerId);
+ NS_VERIFY_NOT_NULL_V(!providerCacheData);
NS_LOG (ERROR, "New provider is discovered");
NSResult ret = NSProviderCacheUpdate(provider);
{
NS_VERIFY_NOT_NULL_V(msg);
- NSCacheElement * cacheElement = NSMessageCacheFind(msg->providerId);
- NS_VERIFY_NOT_NULL_V(cacheElement);
-
- NSProvider * provider = (NSProvider *) cacheElement->data;
+ NSProvider_internal * provider = NSProviderCacheFind(msg->providerId);
+ NS_VERIFY_NOT_NULL_V(provider);
- NSSubscriptionAccepted(provider);
+ NSSubscriptionAccepted((NSProvider *) provider);
}
void NSConsumerHandleRecvMessage(NSMessage_consumer * msg)
{
NS_VERIFY_NOT_NULL_V(sync);
- NSCacheElement * providerCacheElement = NSProviderCacheFind(sync->providerId);
- NS_VERIFY_NOT_NULL_V(providerCacheElement);
+ NSProvider_internal * provider = NSProviderCacheFind(sync->providerId);
+ NS_VERIFY_NOT_NULL_V(provider);
char msgId[NS_DEVICE_ID_LENGTH] = { 0, };
- snprintf(msgId, NS_DEVICE_ID_LENGTH, "%llu", sync->messageId);
+ snprintf(msgId, NS_DEVICE_ID_LENGTH, "%lld", sync->messageId);
- NSCacheElement * messageCacheElement = NSMessageCacheFind(msgId);
- NS_VERIFY_NOT_NULL_V (messageCacheElement);
+ NSMessage_consumer * msg = NSMessageCacheFind(msgId);
+ NS_VERIFY_NOT_NULL_V(msg);
- NSMessage_consumer * msg = (NSMessage_consumer *) messageCacheElement->data;
NSResult ret = NSMessageCacheUpdate(msg, sync->state);
NS_VERIFY_NOT_NULL_V(ret == NS_OK ? (void *) 1 : NULL);
{
NS_VERIFY_NOT_NULL_V(sync);
- NSCacheElement * providerCacheElement = NSProviderCacheFind(sync->providerId);
- NS_VERIFY_NOT_NULL_V (providerCacheElement);
- NSProvider_internal * provider = (NSProvider_internal *) providerCacheElement->data;
+ NSProvider_internal * provider = NSProviderCacheFind(sync->providerId);
NS_VERIFY_NOT_NULL_V (provider);
NSSyncInfo_internal * syncInfo = (NSSyncInfo_internal *)OICMalloc(sizeof(NSSyncInfo_internal));
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-#ifndef _NS_CONSUMER_SUBSCRIPTION_H_
-#define _NS_CONSUMER_SUBSCRIPTION_H_
+#ifndef _NS_CONSUMER_INTERNAL_TASK_CONTROLLER_H_
+#define _NS_CONSUMER_INTERNAL_TASK_CONTROLLER_H_
#ifdef __cplusplus
extern "C" {
#include "NSStorageAdapter.h"
#include "NSConsumerCommunication.h"
+NSCacheList ** NSGetMessageCacheList();
+
+void NSSetMessageCacheList(NSCacheList *);
+
+NSCacheList ** NSGetProviderCacheList();
+
+void NSSetProviderCacheList(NSCacheList *);
+
void NSDestroyMessageCacheList();
void NSDestroyProviderCacheList();
+NSMessage_consumer * NSMessageCacheFind(const char *);
+
+NSProvider_internal * NSProviderCacheFind(const char *);
+
void NSConsumerInternalTaskProcessing(NSTask *);
#ifdef __cplusplus
}
#endif // __cplusplus
-#endif // _NS_CONSUMER_SUBSCRIPTION_H_
+#endif // _NS_CONSUMER_INTERNAL_TASK_CONTROLLER_H_
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+#include "NSConsumerScheduler.h"
+
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include "NSConsumerDiscovery.h"
#include "NSConsumerInternalTaskController.h"
#include "NSConsumerNetworkEventListener.h"
-#include "NSConsumerQueueScheduler.h"
#include "NSConsumerSystem.h"
void * NSConsumerMsgHandleThreadFunc(void * handle);
void NSConsumerMessageHandlerExit()
{
NSDestroyMessageCacheList();
+ NSDestroyProviderCacheList();
NSConsumerListenerTermiate();
NSThreadStop(*(NSGetMsgHandleThreadHandle()));
NSDestroyQueue(*(NSGetMsgHandleQueue()));
break;
}
}
+
+NSMessage_consumer * NSConsumerFindNSMessage(const char* messageId)
+{
+ NS_VERIFY_NOT_NULL(messageId, NULL);
+
+ return NSMessageCacheFind(messageId);
+}
+
+NSProvider_internal * NSConsumerFindNSProvider(const char * providerId)
+{
+ NS_VERIFY_NOT_NULL(providerId, NULL);
+
+ return NSProviderCacheFind(providerId);
+}
#include "ocstack.h"
#include "NSCommon.h"
#include "NSStructs.h"
+#include "NSConsumerCommon.h"
NSResult NSConsumerMessageHandlerInit();
extern NSResult NSConsumerPushEvent(NSTask *);
+NSMessage_consumer * NSConsumerFindNSMessage(const char *);
+
+NSProvider_internal * NSConsumerFindNSProvider(const char *);
+
#ifdef __cplusplus
}
#endif // __cplusplus
pthread_mutex_unlock(mutex);
char msgId[NS_DEVICE_ID_LENGTH] = {0, };
- snprintf(msgId, NS_DEVICE_ID_LENGTH, "%llu", newMsgObj->messageId);
+ snprintf(msgId, NS_DEVICE_ID_LENGTH, "%lld", newMsgObj->messageId);
NSCacheElement * it = NSStorageRead(list, msgId);
pthread_mutex_lock(mutex);
NSMessage_consumer * msg = (NSMessage_consumer *) data;
char msgId[NS_DEVICE_ID_LENGTH] = {0, };
- snprintf(msgId, NS_DEVICE_ID_LENGTH, "%llu", msg->messageId);
+ snprintf(msgId, NS_DEVICE_ID_LENGTH, "%lld", msg->messageId);
if (!strcmp(msgId, id))
{
return true;