diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/FCPv2.iml b/.idea/FCPv2.iml new file mode 100644 index 0000000..c254557 --- /dev/null +++ b/.idea/FCPv2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ace9a15 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/types/client/fcp_types.rs b/src/types/client/fcp_types.rs index 83bb71e..8be5941 100644 --- a/src/types/client/fcp_types.rs +++ b/src/types/client/fcp_types.rs @@ -452,6 +452,7 @@ fn is_client_put_converting() { ); assert_eq!(fin, input.convert()); } + pub struct ClientGet { message_name: String, ignore_ds: Option, @@ -460,6 +461,7 @@ pub struct ClientGet { identifier: String, verbosity: Option, max_size: Option, + max_temp_size: Option, max_retries: Option, priority_class: Option, persistence: Option, @@ -472,7 +474,79 @@ pub struct ClientGet { filename: Option>, temp_filename: Option>, real_time_flag: Option, - initial_metadata_data_length: u64, + initial_metadata_data_length: Option, +} + +/* +ClientGet +IgnoreDS=false +DSOnly=false +URI=KSK@sample.txt +Identifier=Request Number One +Verbosity=0 +ReturnType=direct +MaxSize=100 +MaxTempSize=1000 +MaxRetries=100 +PriorityClass=1 +Persistence=reboot +ClientToken=hello +Global=false +BinaryBlob=false +FilterData=true +EndMessage +*/ + +impl FcpRequest for ClientGet { + fn convert(&self) -> String { + unimplemented!(); + format!( + "ClientGet\n\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + {}\ + EndMessage\n\n", + to_fcp_unwrap("IgnoreDS=", &self.ignore_ds, "\n"), + to_fcp_unwrap("DSonly=", &self.ds_only, "\n"), + format!("URI={}\n", &self.uri), + format!("Identifier={}\n", &self.identifier), + to_fcp_unwrap("Verbosity=", &self.verbosity, "\n"), + to_fcp_unwrap("ReturnType=", &self.return_type, "\n"), + to_fcp_unwrap("MaxSize=", &self.max_size, "\n"), + to_fcp_unwrap("MaxTempSize=", &self.max_temp_size, "\n"), + to_fcp_unwrap("MaxRetries=", &self.max_retries, "\n"), + to_fcp_unwrap("PriorityClass=", &self.priority_class, "\n"), + to_fcp_unwrap("Persistence=", &self.persistence, "\n"), + to_fcp_unwrap("ClientToken=", &self.client_token, "\n"), + to_fcp_unwrap("Global=", &self.global, "\n"), + to_fcp_unwrap("BinaryBlob=", &self.binary_blob, "\n"), + to_fcp_unwrap("FilterData=", &self.filter_data, "\n"), + to_fcp_unwrap("AllowedMIMETypes =", &self.allowed_mime_types, "\n"), + to_fcp_unwrap("Filename=", &self.filename, "\n"), + to_fcp_unwrap("RealTimeFlag=", &self.real_time_flag, "\n"), + to_fcp_unwrap( + "InitialMetadata.DataLength=", + &self.initial_metadata_data_length, + "\n" + ), + ) + } } pub struct Disconnect { diff --git a/src/types/client/types.rs b/src/types/client/types.rs index 9a19c92..e9c637d 100644 --- a/src/types/client/types.rs +++ b/src/types/client/types.rs @@ -68,6 +68,12 @@ pub enum VerbosityGet { ExpectedDataLength, } +impl FcpRequest for VerbosityGet { + fn convert(&self) -> String { + unimplemented!(); + } +} + pub enum Retry { None, Forever, @@ -154,10 +160,32 @@ pub enum ReturnType { Disk, } +impl FcpRequest for ReturnType { + fn convert(&self) -> String { + unimplemented!(); + } +} + pub enum NumOrNone { None, Num(u32), } +impl FcpRequest for NumOrNone { + fn convert(&self) -> String { + unimplemented!(); + } +} + +impl FcpRequest for Vec { + fn convert(&self) -> String { + unimplemented!(); + } +} +impl FcpRequest for Box { + fn convert(&self) -> String { + unimplemented!(); + } +} pub enum Priority { A, // 0 @@ -204,7 +232,11 @@ impl FcpRequest for i64 { self.to_string() } } - +impl FcpRequest for u64 { + fn convert(&self) -> String { + self.to_string() + } +} impl FcpRequest for String { fn convert(&self) -> String { self.to_string()