public Msg ReplyFromServer() { try { lock (ContainerLock()) { var claxx = SystemTransaction().Reflector().ForName(ReadString()); if (claxx != null) { var classMetadata = Container().ProduceClassMetadata(claxx); if (classMetadata != null) { Container().CheckStillToSet(); var returnBytes = Container().ReadStatefulBufferById(SystemTransaction (), classMetadata.GetID()); var createdClass = ObjectToClient.GetWriter(returnBytes); return(createdClass); } } } } catch (Db4oException) { } // TODO: send the exception to the client return(Failed); }
public virtual Msg ReplyFromServer() { Unmarshall(); try { lock (ContainerLock()) { var classInfo = (ClassInfo)ReadObjectFromPayLoad(); var classInfoHelper = ServerMessageDispatcher().ClassInfoHelper(); var genericClass = classInfoHelper.ClassMetaToGenericClass(Container().Reflector (), classInfo); if (genericClass != null) { var trans = Container().SystemTransaction(); var classMetadata = Container().ProduceClassMetadata(genericClass); if (classMetadata != null) { Container().CheckStillToSet(); classMetadata.SetStateDirty(); classMetadata.Write(trans); trans.Commit(); var returnBytes = Container().ReadStatefulBufferById(trans, classMetadata .GetID()); return(ObjectToClient.GetWriter(returnBytes)); } } } } catch (Exception e) { } return(Failed); }
public Msg ReplyFromServer() { StatefulBuffer bytes = null; // readWriterByID may fail in certain cases, for instance if // and object was deleted by another client var id = _payLoad.ReadInt(); var lastCommitted = _payLoad.ReadInt(); lock (ContainerLock()) { bytes = Container().ReadStatefulBufferById(Transaction(), id, lastCommitted == 1); } if (bytes == null) { bytes = new StatefulBuffer(Transaction(), 0, 0); } return(ObjectToClient.GetWriter(bytes)); }