/// <summary> /// Creates a new PyCacheHint based on the given data /// </summary> /// <param name="name">The name of the cache hint</param> /// <param name="data">The data for the cache hint</param> /// <param name="timestamp">The timestamp of the creation of the cache hint</param> /// <param name="nodeID">The node that created the cache</param> /// <returns></returns> public static PyCacheHint FromBuffer(string name, byte[] data, long timestamp, long nodeID) { PyCacheHint cacheHint = new PyCacheHint(); cacheHint.Version = (int)CRC32.Checksum(data); cacheHint.NodeID = nodeID; cacheHint.ObjectID = new PyString(name); cacheHint.CacheTime = timestamp; return(cacheHint); }
public static PyCachedObject FromCacheHint(PyCacheHint cacheInfo, byte[] data) { PyCachedObject cachedObject = new PyCachedObject(); cachedObject.NodeID = cacheInfo.NodeID; cachedObject.ObjectID = cacheInfo.ObjectID; cachedObject.Shared = 1; cachedObject.Compressed = 1; cachedObject.Cache = new PyBuffer(ZlibHelper.Compress(data)); cachedObject.Timestamp = cacheInfo.CacheTime; cachedObject.Version = cacheInfo.Version; return(cachedObject); }
public static PyCachedObject FromCacheHint(PyCacheHint cacheInfo, PyDataType data) { PyCachedObject cachedObject = new PyCachedObject(); cachedObject.NodeID = cacheInfo.NodeID; cachedObject.ObjectID = cacheInfo.ObjectID; cachedObject.Shared = 1; cachedObject.Compressed = 1; cachedObject.Cache = new PyBuffer(ZlibHelper.Compress(PythonTypes.Marshal.Marshal.ToByteArray(data))); cachedObject.Timestamp = cacheInfo.CacheTime; cachedObject.Version = cacheInfo.Version; return(cachedObject); }