/// <summary> /// Serialize NewHashmap /// </summary> /// <param name="instance"></param> /// <param name="serializationContext">Serialization context used to serialize the object</param> public static void Serialize(NewHashmap instance, string serializationContext, bool updateClientMap) { Hashtable mapInfo = null; if (instance != null) { mapInfo = new Hashtable(); mapInfo.Add("ViewId", instance._lastViewId); mapInfo.Add("Members", instance._members); mapInfo.Add("Map", instance._map); mapInfo.Add("UpdateMap", updateClientMap); BinaryFormatter formatter = new BinaryFormatter(); MemoryStream stream = new MemoryStream(); formatter.Serialize(stream, mapInfo); instance._buffer = stream.ToArray(); } //this._buffer = CompactBinaryFormatter.ToByteBuffer(this, serializationContext); }
/// <summary> /// Deserialize NewHashmap /// </summary> /// <param name="serializationContext"></param> /// <returns></returns> public static NewHashmap Deserialize(byte[] buffer, string serializationContext) { NewHashmap hashmap = null; if (buffer != null && buffer.Length > 0) { BinaryFormatter formatter = new BinaryFormatter(); MemoryStream stream = new MemoryStream(buffer); Hashtable map = formatter.Deserialize(stream) as Hashtable; if (map != null) { hashmap = new NewHashmap(); hashmap._lastViewId = (long)map["ViewId"]; hashmap._members = (ArrayList)map["Members"]; hashmap._map = (Hashtable)map["Map"]; hashmap._updateMap = (map["UpdateMap"] != null) ? (bool)map["UpdateMap"] : false; } } return(hashmap); }