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()); }
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()); }
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); }