option optimize_for = SPEED;
option cc_generic_services = false;

message CMsgSOSingleObject {
	optional fixed64 owner = 1;
	optional int32 type_id = 2;
	optional bytes object_data = 3;
	optional fixed64 version = 4;
}

message CMsgSOMultipleObjects {
	message SingleObject {
		optional int32 type_id = 1;
		optional bytes object_data = 2;
	}

	optional fixed64 owner = 1;
	repeated .CMsgSOMultipleObjects.SingleObject objects = 2;
	optional fixed64 version = 3;
}

message CMsgSOCacheSubscribed {
	message SubscribedType {
		optional int32 type_id = 1;
		repeated bytes object_data = 2;
	}

	optional fixed64 owner = 1;
	repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
	optional fixed64 version = 3;
}

message CMsgSOCacheUnsubscribed {
	optional fixed64 owner = 1;
}

message CMsgSOCacheSubscriptionCheck {
	optional fixed64 owner = 1;
	optional fixed64 version = 2;
}

message CMsgSOCacheSubscriptionRefresh {
	optional fixed64 owner = 1;
}

message CMsgSOCacheVersion {
	optional fixed64 version = 1;
}
