<commit_before>/**
 * Communication protocol between FUSE client and the server.
 * @author <NAME>
 * @copyright (C) 2015 ACK CYFRONET AGH
 * @copyright This software is released under the MIT license cited in
 * 'LICENSE.txt'
 */

syntax = "proto2";
package one.clproto;

import "common_messages.proto";

enum FileType {
    REG = 1; // regular file
    DIR = 2; // directory
    LNK = 3; // symbolic link
}

// Generic FUSE client request
message FuseRequest {
    oneof fuse_request { // list of all FUSE client requests
        ResolveGuid resolve_guid = 1;
        GetHelperParams get_helper_params = 2;
        CreateStorageTestFile create_storage_test_file = 3;
        VerifyStorageTestFile verify_storage_test_file = 4;
        FileRequest file_request = 5;
    }
}

message ResolveGuid {
    required bytes path = 1;
}

message GetHelperParams {
    required bytes storage_id = 1;
    optional bool force_proxy_io = 2 [default = false];
}

message CreateStorageTestFile {
    required bytes storage_id = 1;
    required bytes file_uuid  = 2;
}<commit_msg>Squashed 'clproto/' changes from 33738dc9a..86bc8d8a6<commit_after>/**
 * Communication protocol between FUSE client and the server.
 * @author <NAME>
 * @copyright (C) 2015 ACK CYFRONET AGH
 * @copyright This software is released under the MIT license cited in
 * 'LICENSE.txt'
 */

syntax = "proto2";
package one.clproto;

import "common_messages.proto";

enum FileType {
    REG = 1; // regular file
    DIR = 2; // directory
    LNK = 3; // symbolic link
}

enum HelperMode {
    AUTO         = 1; // automatic helper mode detection
    FORCE_PROXY  = 2; // return proxy io helper or error
    FORCE_DIRECT = 3; // return direct io helper or error
}

// Generic FUSE client request
message FuseRequest {
    oneof fuse_request { // list of all FUSE client requests
        ResolveGuid resolve_guid = 1;
        GetHelperParams get_helper_params = 2;
        CreateStorageTestFile create_storage_test_file = 3;
        VerifyStorageTestFile verify_storage_test_file = 4;
        FileRequest file_request = 5;
    }
}

message ResolveGuid {
    required bytes path = 1;
}

message GetHelperParams {
    required bytes storage_id       = 1;
    required bytes space_id         = 2;
    optional HelperMode helper_mode = 3 [default = AUTO];
}

message CreateStorageTestFile {
    required bytes storage_id = 1;
    required bytes file_uuid  = 2;
}
{'fraction_non_alphanumeric': 0.07918739635157546, 'fraction_numerical': 0.021144278606965175, 'mean_word_length': 3.0554621848739494, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7556777', 'n_tokens_mistral': 770, 'n_tokens_neox': 713, 'n_words': 242}