X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=include%2Fhfta%2Fhfta_sfun.h;h=c203217b2ec0eb13b2523d19c7bf58f0908d9e97;hb=07495effe193ca3f73c3bf0ce417068f9ac9dcdd;hp=4c05838151e17a310ed215a4dbb1b5653a5e2497;hpb=93d248304a68de7a8f9daf4aa74f9ee4cd27410c;p=com%2Fgs-lite.git diff --git a/include/hfta/hfta_sfun.h b/include/hfta/hfta_sfun.h index 4c05838..c203217 100644 --- a/include/hfta/hfta_sfun.h +++ b/include/hfta/hfta_sfun.h @@ -1,113 +1,113 @@ -/* ------------------------------------------------ - Copyright 2014 AT&T Intellectual Property - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ------------------------------------------- */ - -#ifndef _HFTA_SFUN_H_INCLUDED_ -#define _HFTA_SFUN_H_INCLUDED_ - -#include "vstring.h" -#include "host_tuple.h" - -//////////////////////////////////////////////////////////////// -/// Dummy state and functions, for testing -//////////////////////////////////////////////////////////////////// - -void _sfun_state_destroy_Foo(char(*)[20] ); -void _sfun_state_dirty_init_Foo(char(*)[20],char(*)[20], int); -void _sfun_state_final_init_Foo(char(*)[20], int); -void _sfun_state_clean_init_Foo(char(*)[20]); -unsigned int Bar(char(*)[20], int, unsigned int); - -int packet_count(void *s, int curr_num_samples); -double gamma(void *s, int curr_num_samples); -int init_threshold(void *s, int curr_num_samples); -int do_clean_count(void *s, int curr_num_samples); -int delay(void *s, int curr_num_samples); -int newly_closed(void *s, int curr_num_samples); - -//////////////////////////////////////////////////// -/// Adaptive smart sampling -//////////////////////////////////////////////////////////////////// -void _sfun_state_clean_init_smart_sampling_state(void *s); -void _sfun_state_dirty_init_smart_sampling_state(void *s_new, void *s_old, int curr_num_samples); -void _sfun_state_final_init_smart_sampling_state(void *s, int curr_num_samples); -void _sfun_state_destroy_smart_sampling_state(void *s){}; - -int ssample(void *s,int curr_num_samples, unsigned long long int len, unsigned int sample_size); -int ssample(void *s,int curr_num_samples, int len, unsigned int sample_size){ - return ssample(s,curr_num_samples,(unsigned long long int)len,sample_size); -} -int ssample(void *s,int curr_num_samples, unsigned int len, unsigned int sample_size){ - return ssample(s,curr_num_samples,(unsigned long long int)len,sample_size); -} - -int ssfinal_clean(void *s, int curr_num_sample, unsigned long long int glens); -int ssfinal_clean(void *s, int curr_num_samples, int glen){ - return ssfinal_clean(s, curr_num_samples, (unsigned long long int)glen); -} -int ssfinal_clean(void *s, int curr_num_samples, unsigned int glen){ - return ssfinal_clean(s, curr_num_samples, (unsigned long long int)glen); -} - -int ssdo_clean(void *s, int curr_num_samples); - -int ssclean_with(void *s,int curr_num_sample, unsigned long long int glens); -int ssclean_with(void *s,int curr_num_sample, unsigned int glens){ - return ssclean_with(s, curr_num_sample, (unsigned long long int)glens); -} -int ssclean_with(void *s,int curr_num_sample, int glens){ - return ssclean_with(s, curr_num_sample, (unsigned long long int)glens); -} - -double ssthreshold(void *s, int curr_num_sample); -int count_distinct(void *s, int curr_num_samples); -int packet_count(void *s, int curr_num_samples); -double gamma(void *s, int curr_num_samples); -int init_threshold(void *s, int curr_num_samples); -int do_clean_count(void *s, int curr_num_samples); -int delay(void *s, int curr_num_samples); -int newly_closed(void *s, int curr_num_samples); - -//flow sampling -int flow_ssdo_clean(void *s, int curr_num_samples,unsigned int maxtime); - -int flow_ssample(void *s,int curr_num_samples, unsigned int sample_size); - -int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned long long int glens); -int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned int glens){ - return flow_ssclean_with(s, curr_num_sample, ccondition, delay, maxtime, (unsigned long long int)glens); -} -int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, int glens){ - return flow_ssclean_with(s, curr_num_sample, ccondition, delay, maxtime, (unsigned long long int)glens); -} - -int flow_ssfinal_clean(void *s, int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned long long int glens); -int flow_ssfinal_clean(void *s, int curr_num_samples,unsigned int ccondition, unsigned int delay, unsigned int maxtime, int glen){ - return flow_ssfinal_clean(s, curr_num_samples, ccondition, delay, maxtime, (unsigned long long int)glen); -} -int flow_ssfinal_clean(void *s, int curr_num_samples,unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned int glen){ - return flow_ssfinal_clean(s, curr_num_samples, ccondition, delay, maxtime, (unsigned long long int)glen); -} - -//////////////////////////////////////////////////////////////////// -/// Manku-Motwani Heavy Hitters -//////////////////////////////////////////////////////////////////// -void _sfun_state_clean_init_manku_hh_state(void *s); -void _sfun_state_dirty_init_manku_hh_state(void *s_new, void *s_old, int curr_num_samples); -void _sfun_state_final_init_manku_hh_state(void *s, int curr_num_samples); -void _sfun_state_destroy_manku_hh_state(void *s){}; - -///////////////////////////////////////////////////////////////////// - -#endif +/* ------------------------------------------------ + Copyright 2014 AT&T Intellectual Property + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ------------------------------------------- */ + +#ifndef _HFTA_SFUN_H_INCLUDED_ +#define _HFTA_SFUN_H_INCLUDED_ + +#include "vstring.h" +#include "host_tuple.h" + +//////////////////////////////////////////////////////////////// +/// Dummy state and functions, for testing +//////////////////////////////////////////////////////////////////// + +void _sfun_state_destroy_Foo(char(*)[20] ); +void _sfun_state_dirty_init_Foo(char(*)[20],char(*)[20], int); +void _sfun_state_final_init_Foo(char(*)[20], int); +void _sfun_state_clean_init_Foo(char(*)[20]); +unsigned int Bar(char(*)[20], int, unsigned int); + +int packet_count(void *s, int curr_num_samples); +double gamma(void *s, int curr_num_samples); +int init_threshold(void *s, int curr_num_samples); +int do_clean_count(void *s, int curr_num_samples); +int delay(void *s, int curr_num_samples); +int newly_closed(void *s, int curr_num_samples); + +//////////////////////////////////////////////////// +/// Adaptive smart sampling +//////////////////////////////////////////////////////////////////// +void _sfun_state_clean_init_smart_sampling_state(void *s); +void _sfun_state_dirty_init_smart_sampling_state(void *s_new, void *s_old, int curr_num_samples); +void _sfun_state_final_init_smart_sampling_state(void *s, int curr_num_samples); +void _sfun_state_destroy_smart_sampling_state(void *s){}; + +int ssample(void *s,int curr_num_samples, unsigned long long int len, unsigned int sample_size); +int ssample(void *s,int curr_num_samples, int len, unsigned int sample_size){ + return ssample(s,curr_num_samples,(unsigned long long int)len,sample_size); +} +int ssample(void *s,int curr_num_samples, unsigned int len, unsigned int sample_size){ + return ssample(s,curr_num_samples,(unsigned long long int)len,sample_size); +} + +int ssfinal_clean(void *s, int curr_num_sample, unsigned long long int glens); +int ssfinal_clean(void *s, int curr_num_samples, int glen){ + return ssfinal_clean(s, curr_num_samples, (unsigned long long int)glen); +} +int ssfinal_clean(void *s, int curr_num_samples, unsigned int glen){ + return ssfinal_clean(s, curr_num_samples, (unsigned long long int)glen); +} + +int ssdo_clean(void *s, int curr_num_samples); + +int ssclean_with(void *s,int curr_num_sample, unsigned long long int glens); +int ssclean_with(void *s,int curr_num_sample, unsigned int glens){ + return ssclean_with(s, curr_num_sample, (unsigned long long int)glens); +} +int ssclean_with(void *s,int curr_num_sample, int glens){ + return ssclean_with(s, curr_num_sample, (unsigned long long int)glens); +} + +double ssthreshold(void *s, int curr_num_sample); +int count_distinct(void *s, int curr_num_samples); +int packet_count(void *s, int curr_num_samples); +double gamma(void *s, int curr_num_samples); +int init_threshold(void *s, int curr_num_samples); +int do_clean_count(void *s, int curr_num_samples); +int delay(void *s, int curr_num_samples); +int newly_closed(void *s, int curr_num_samples); + +//flow sampling +int flow_ssdo_clean(void *s, int curr_num_samples,unsigned int maxtime); + +int flow_ssample(void *s,int curr_num_samples, unsigned int sample_size); + +int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned long long int glens); +int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned int glens){ + return flow_ssclean_with(s, curr_num_sample, ccondition, delay, maxtime, (unsigned long long int)glens); +} +int flow_ssclean_with(void *s,int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, int glens){ + return flow_ssclean_with(s, curr_num_sample, ccondition, delay, maxtime, (unsigned long long int)glens); +} + +int flow_ssfinal_clean(void *s, int curr_num_sample, unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned long long int glens); +int flow_ssfinal_clean(void *s, int curr_num_samples,unsigned int ccondition, unsigned int delay, unsigned int maxtime, int glen){ + return flow_ssfinal_clean(s, curr_num_samples, ccondition, delay, maxtime, (unsigned long long int)glen); +} +int flow_ssfinal_clean(void *s, int curr_num_samples,unsigned int ccondition, unsigned int delay, unsigned int maxtime, unsigned int glen){ + return flow_ssfinal_clean(s, curr_num_samples, ccondition, delay, maxtime, (unsigned long long int)glen); +} + +//////////////////////////////////////////////////////////////////// +/// Manku-Motwani Heavy Hitters +//////////////////////////////////////////////////////////////////// +void _sfun_state_clean_init_manku_hh_state(void *s); +void _sfun_state_dirty_init_manku_hh_state(void *s_new, void *s_old, int curr_num_samples); +void _sfun_state_final_init_manku_hh_state(void *s, int curr_num_samples); +void _sfun_state_destroy_manku_hh_state(void *s){}; + +///////////////////////////////////////////////////////////////////// + +#endif