public void Dispatch(Message message) { if (!ObserverGrainId.TryParse(message.TargetGrain, out var observerId)) { this.logger.LogError( (int)ErrorCode.ProxyClient_OGC_TargetNotFound_2, "Message is not addresses to an observer. {Message}", message); return; } if (this.localObjects.TryGetValue(observerId, out var objectData)) { this.Invoke(objectData, message); } else { this.logger.Error( ErrorCode.ProxyClient_OGC_TargetNotFound, String.Format( "Unexpected target grain in request: {0}. Message={1}", message.TargetGrain, message)); } }
public void DeleteObjectReference(IAddressable obj) { if (!(obj is GrainReference reference)) { throw new ArgumentException("Argument reference is not a grain reference."); } if (!ObserverGrainId.TryParse(reference.GrainId, out var observerId)) { throw new ArgumentException($"Reference {reference.GrainId} is not an observer reference"); } if (!localObjects.TryDeregister(observerId)) { throw new ArgumentException("Reference is not associated with a local object.", "reference"); } }
public void Dispatch(Message message) { if (!ObserverGrainId.TryParse(message.TargetGrain, out var observerId)) { this.logger.LogError( (int)ErrorCode.ProxyClient_OGC_TargetNotFound_2, "Message is not addressed to an observer. {Message}", message); return; } if (this.localObjects.TryGetValue(observerId, out var objectData)) { objectData.ReceiveMessage(message); } else { this.logger.LogError( (int)ErrorCode.ProxyClient_OGC_TargetNotFound, "Unexpected target grain in request: {TargetGrain}. Message: {Message}", message.TargetGrain, message); } }
public void Dispatch(Message message) { if (!ObserverGrainId.TryParse(message.TargetGrain, out var observerId)) { this.logger.Error( ErrorCode.ProxyClient_OGC_TargetNotFound_2, string.Format("Did not find TargetObserverId header in the message = {0}. A request message to a client is expected to have an observerId.", message)); return; } if (this.localObjects.TryGetValue(observerId, out var objectData)) { this.Invoke(objectData, message); } else { this.logger.Error( ErrorCode.ProxyClient_OGC_TargetNotFound, String.Format( "Unexpected target grain in request: {0}. Message={1}", message.TargetGrain, message)); } }