<commit_before>syntax = "proto3";
package io.axoniq.axonhub.grpc;
import "messaging_messages.proto";

option java_multiple_files = true;

service CommandService {
    rpc OpenStream( stream CommandProviderOutbound) returns (stream CommandProviderInbound) {}
    rpc Dispatch( Command) returns (CommandResponse) {}
    rpc DispatchStream( stream Command) returns (stream CommandResponse) {}
}

service QueryService {
    rpc OpenStream (stream QueryProviderOutbound) returns (stream QueryProviderInbound) {}
    rpc Query (QueryRequest) returns (stream QueryResponse) {}
}

message CommandProviderOutbound {
    oneof request {
        CommandSubscription subscribe = 1;
        CommandSubscription unsubscribe = 2;
        FlowControl flowControl = 3;
        CommandResponse commandResponse = 4;
    }
}

message QueryProviderOutbound {
    oneof request {
        QuerySubscription subscribe = 1;
        QuerySubscription unsubscribe = 2;
        FlowControl flowControl = 3;
        QueryResponse queryResponse = 4;
        QueryComplete queryComplete = 5;
    }
}

message CommandProviderInbound {
    oneof request {
        Confirmation confirmation = 1;<commit_msg>Removed command stream option as no real performance gain.<commit_after>syntax = "proto3";
package io.axoniq.axonhub.grpc;
import "messaging_messages.proto";

option java_multiple_files = true;

service CommandService {
    rpc OpenStream( stream CommandProviderOutbound) returns (stream CommandProviderInbound) {}
    rpc Dispatch( Command) returns (CommandResponse) {}
}

service QueryService {
    rpc OpenStream (stream QueryProviderOutbound) returns (stream QueryProviderInbound) {}
    rpc Query (QueryRequest) returns (stream QueryResponse) {}
}

message CommandProviderOutbound {
    oneof request {
        CommandSubscription subscribe = 1;
        CommandSubscription unsubscribe = 2;
        FlowControl flowControl = 3;
        CommandResponse commandResponse = 4;
    }
}

message QueryProviderOutbound {
    oneof request {
        QuerySubscription subscribe = 1;
        QuerySubscription unsubscribe = 2;
        FlowControl flowControl = 3;
        QueryResponse queryResponse = 4;
        QueryComplete queryComplete = 5;
    }
}

message CommandProviderInbound {
    oneof request {
        Confirmation confirmation = 1;
{'fraction_non_alphanumeric': 0.06781857451403887, 'fraction_numerical': 0.009503239740820735, 'mean_word_length': 3.707317073170732, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2118325', 'n_tokens_mistral': 616, 'n_tokens_neox': 583, 'n_words': 174}