Пример #1
0
        public override int InstanceCount(ClassMetadata clazz, Transaction trans)
        {
            MsgD msg = Msg.InstanceCount.GetWriterForInt(trans, clazz.GetID());

            Write(msg);
            MsgD response = (MsgD)ExpectedResponse(Msg.InstanceCount);

            return(response.ReadInt());
        }
Пример #2
0
        public override int ClassMetadataIdForName(string name)
        {
            MsgD msg = Msg.ClassMetadataIdForName.GetWriterForString(SystemTransaction(), name
                                                                     );

            msg.Write(_socket);
            MsgD response = (MsgD)ExpectedResponse(Msg.ClassId);

            return(response.ReadInt());
        }
Пример #3
0
        public sealed override HardObjectReference GetHardReferenceBySignature(Transaction
                                                                               trans, long uuid, byte[] signature)
        {
            int  messageLength = Const4.LongLength + Const4.IntLength + signature.Length;
            MsgD message       = Msg.ObjectByUuid.GetWriterForLength(trans, messageLength);

            message.WriteLong(uuid);
            message.WriteInt(signature.Length);
            message.WriteBytes(signature);
            Write(message);
            message = (MsgD)ExpectedResponse(Msg.ObjectByUuid);
            int id = message.ReadInt();

            if (id > 0)
            {
                return(GetHardObjectReferenceById(trans, id));
            }
            return(HardObjectReference.Invalid);
        }