progran.proto 1.93 KB
Newer Older
nikaeinn's avatar
nikaeinn committed
1
//'syntax = "proto2";' 
2 3 4
package protocol;

import "stats_messages.proto";
5
import "header.proto";
6 7

message progran_message {
nikaeinn's avatar
nikaeinn committed
8 9
       required progran_direction msg_dir = 100;
	oneof msg {
10 11 12 13 14 15 16 17
              prp_hello hello_msg = 1;
              prp_echo_request echo_request_msg = 2;
	      prp_echo_reply echo_reply_msg = 3;
	      prp_stats_request stats_request_msg = 4;
	      prp_stats_reply stats_reply_msg = 5;
	}
}

nikaeinn's avatar
nikaeinn committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
enum progran_direction {
     //option allow_alias = true;
     NOT_SET = 0;
     INITIATING_MESSAGE = 1;
     SUCCESSFUL_OUTCOME=2;
     UNSUCCESSFUL_OUTCOME=3;	
}
	
enum progran_err {
        option allow_alias = true;
	// message errors
	NO_ERR = 0;	
	MSG_DEQUEUING = -1;
	MSG_ENQUEUING = -2;
	MSG_DECODING = -3;
	MSG_ENCODING = -4;
	MSG_BUILD = -5;
	MSG_NOT_SUPPORTED = -6; 
	MSG_NOT_HANDLED = -7;
	MSG_NOT_VALIDATED = -8;
	MSG_OUT_DATED = -9;


	// other erros
	UNEXPECTED = -100;	
}	
44 45 46 47 48 49

//
// Maintenance and discovery messages
//

message prp_hello {
50
	optional prp_header header = 1;
51 52 53
}

message prp_echo_request {
54
	optional prp_header header = 1;
55 56 57 58 59
	extensions 100 to 199;
}


message prp_echo_reply {
60
	optional prp_header header = 1;
61 62 63 64 65 66 67 68 69
	extensions 100 to 199;
}


//
// Statistics request and reply message
//

message prp_stats_request {
70 71
	optional prp_header header = 1;
	optional prp_stats_type type = 2;
72
	oneof body {
73 74 75
	      prp_complete_stats_request complete_stats_request = 3;
	      prp_cell_stats_request cell_stats_request = 4;
	      prp_ue_stats_request ue_stats_request = 5;
76 77 78 79
	}
}

message prp_stats_reply {
80
	optional prp_header header = 1;
81 82
	repeated prp_ue_stats_report ue_report = 2;
	repeated prp_cell_stats_report cell_report = 3;
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
}


// Extensions of the echo request and reply
// messages for carrying a latency value in ms
message prp_echo_request_latency {
	extend prp_echo_request {
	       optional uint32 latency = 100;
	}
}

message prp_echo_reply_latency {
	extend prp_echo_reply {
	       optional uint32 latency = 100;
	}
}