00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifdef HAVE_CONFIG_H
00018 # include <dtn-config.h>
00019 #endif
00020
00021 #include "ParamCommand.h"
00022 #include "bundling/BundleDaemon.h"
00023 #include "bundling/BundlePayload.h"
00024 #include "bundling/CustodyTimer.h"
00025 #include "naming/EndpointID.h"
00026
00027 namespace dtn {
00028
00029 ParamCommand::ParamCommand()
00030 : TclCommand("param")
00031 {
00032 bind_var(new oasys::BoolOpt("payload_test_no_remove",
00033 &BundlePayload::test_no_remove_,
00034 "Boolean to control not removing bundles "
00035 "(for testing)."));
00036
00037 bind_var(new oasys::BoolOpt("early_deletion",
00038 &BundleDaemon::params_.early_deletion_,
00039 "Delete forwarded / delivered bundles "
00040 "before they've expired "
00041 "(default is true)"));
00042
00043 bind_var(new oasys::BoolOpt("suppress_duplicates",
00044 &BundleDaemon::params_.suppress_duplicates_,
00045 "Do not route bundles that are a duplicate "
00046 "of any currently pending bundle "
00047 "(default is true)"));
00048
00049 bind_var(new oasys::BoolOpt("accept_custody",
00050 &BundleDaemon::params_.accept_custody_,
00051 "Accept custody when requested "
00052 "(default is true)"));
00053
00054 bind_var(new oasys::BoolOpt("reactive_frag_enabled",
00055 &BundleDaemon::params_.reactive_frag_enabled_,
00056 "Is reactive fragmentation enabled "
00057 "(default is true)"));
00058
00059 bind_var(new oasys::BoolOpt("retry_reliable_unacked",
00060 &BundleDaemon::params_.retry_reliable_unacked_,
00061 "Retry unacked transmissions on reliable CLs "
00062 "(default is true)"));
00063
00064 bind_var(new oasys::BoolOpt("test_permuted_delivery",
00065 &BundleDaemon::params_.test_permuted_delivery_,
00066 "Permute the order of bundles before "
00067 "delivering to registrations"));
00068
00069 bind_var(new oasys::BoolOpt("injected_bundles_in_memory",
00070 &BundleDaemon::params_.injected_bundles_in_memory_,
00071 "Injected bundles are held in memory by default"
00072 "(default is false)"));
00073
00074 static oasys::EnumOpt::Case IsSingletonCases[] = {
00075 {"unknown", EndpointID::UNKNOWN},
00076 {"singleton", EndpointID::SINGLETON},
00077 {"multinode", EndpointID::MULTINODE},
00078 {0, 0}
00079 };
00080
00081 bind_var(new oasys::EnumOpt("is_singleton_default",
00082 IsSingletonCases,
00083 (int*)&EndpointID::is_singleton_default_,
00084 "<unknown|singleton|multinode>",
00085 "How to set the is_singleton bit for "
00086 "unknown schemes"));
00087
00088 bind_var(new oasys::BoolOpt("glob_unknown_schemes",
00089 &EndpointID::glob_unknown_schemes_,
00090 "Whether unknown schemes use glob-based matching for "
00091 "registrations and routes"));
00092
00093 bind_var(new oasys::UIntOpt("link_min_retry_interval",
00094 &Link::default_params_.min_retry_interval_,
00095 "interval",
00096 "Default minimum connection retry "
00097 "interval for links"));
00098
00099 bind_var(new oasys::UIntOpt("link_max_retry_interval",
00100 &Link::default_params_.max_retry_interval_,
00101 "interval",
00102 "Default maximum connection retry "
00103 "interval for links"));
00104
00105 bind_var(new oasys::UIntOpt("custody_timer_min",
00106 &CustodyTimerSpec::defaults_.min_,
00107 "min",
00108 "default value for custody timer min"));
00109
00110 bind_var(new oasys::UIntOpt("custody_timer_lifetime_pct",
00111 &CustodyTimerSpec::defaults_.lifetime_pct_,
00112 "pct",
00113 "default value for custody timer "
00114 "lifetime percentage"));
00115
00116 bind_var(new oasys::UIntOpt("custody_timer_max",
00117 &CustodyTimerSpec::defaults_.max_,
00118 "max",
00119 "default value for custody timer max"));
00120 }
00121
00122 }