void IUserEventObserver.UserContextChange(TrackableUserContextTracker userContextTracker) { // this method is called by a worker thread of TestActorBoundSession actor // which is not same with with a test thread but invocation is serialized. // so if you access _userContext carefully, it could be safe :) userContextTracker.ApplyTo(UserContext); }
void IUserEventObserver.UserContextChange(TrackableUserContextTracker userContextTracker) { userContextTracker.ApplyTo(_userContext); var userContextJson = JsonConvert.SerializeObject(_userContext, s_jsonSerializerSettings); WriteLine("-> OnUserContextChange: " + userContextTracker.ToString() + " => " + userContextJson); }
private async Task OnUserInitiated(TrackableUserContext userContext, IUserEventObserver observer) { _userContext = userContext.Clone(); _userContext.SetDefaultTracker(); _userContextSaveTracker = new TrackableUserContextTracker(); _userEventObserver = (UserEventObserver)observer; _channel.WithNoReply().UnbindType(Self, new[] { typeof(IUserInitiator) }); await _channel.BindType(Self, new TaggedType[] { typeof(IUser) }); }
public Task SaveUserAsync(int uid, TrackableUserContextTracker tracker) { return _userMapper.SaveAsync(this[_collectionName], tracker, uid); }
void IUserEventObserver.UserContextChange(TrackableUserContextTracker userContextTracker) { G.Logger.InfoFormat("UserContext: {0}", userContextTracker); userContextTracker.ApplyTo(G.UserContext); }
public Task SaveUserAsync(int uid, TrackableUserContextTracker tracker) { return _userMapper.SaveAsync(_connection, tracker, uid); }