message AEMessage
{
	int queryID;
	int URI; // this is the unique identifer of the AE, sending the message
    string feature_type; // this is the feature type of the resource we are looking for; in this version of protocol 
    // we can just query one feature type per QUERY
    int data; // this is the value concerning the resource we are looking for; Actually used in REGISTRATION.
    // TO DO it will be used in UPDATE, PUT, GET, REPLY. 
    int op_code; // this can be 
     // REGISTRATION (when AE register to CSE), value =0
     // UPDATE (when AE update every x minutes the CSE about the update in its value in local Database); value =1
     // CANCELLATION (when AE wants to cancel the Resource inside CSE local Database) value =2 
     // QUERY (when AE wants to ask for resource), value =3 
     // PUT (CSE to AE: CSE gives some directive to the corresponding AE) value =4 
     // GET (CSE to AE: CSE ask some value from the corresponding AE) value =5
     // REPLY (AE to CSE: AE reply to the CSE with a value normally in data) value =6 
     // RESPONSE (AE to CSE: AE reply to the CSE with a value normally in data) value =7 
     // NOTIFY between CSE to notify modifcations in route tables  value =8 
     
     int maxHop; // used for a discovery query. Number of hops for the search 
      
}

