Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }