private HMessage InnerBuildMessage(string actor, string type, JToken payload, HMessageOptions mOptions) { if (actor == null || actor.Length <= 0) { throw new MissingAttrException("actor"); } HMessage message = new HMessage(); message.SetActor(actor); message.SetType(type); if (mOptions != null) { message.SetRef(mOptions.Ref); message.SetConvid(mOptions.Convid); message.SetPriority(mOptions.Priority); message.SetAuthor(mOptions.Author); message.SetHeaders(mOptions.Headers); message.SetLocation(mOptions.Location); message.SetPublished(mOptions.Published); message.SetPersistent(mOptions.Persistent); message.SetTimeout(mOptions.Timeout); if (mOptions.RelevanceOffset != null) { Debug.WriteLine("---- " + mOptions.RelevanceOffset); message.SetRelevance((DateTime.UtcNow).AddMilliseconds(mOptions.RelevanceOffset.Value)); Debug.WriteLine("++++ " + message.GetRelevance()); } else { message.SetRelevance(mOptions.Relevance); } } if (transportOptions != null && transportOptions.Login != null) { message.SetPublisher(transportOptions.FullUrn); } else { message.SetPublisher(null); } message.SetPayload(payload); return(message); }
/// <summary> /// The client MUST be connected to access to this service. /// Allow a hubapp client to create a hMessage with a hConvState payload. /// </summary> /// <param name="actor"></param> /// <param name="convid"></param> /// <param name="status"></param> /// <param name="mOptions"></param> /// <returns></returns> public HMessage BuildConvState(string actor, string convid, string status, HMessageOptions mOptions) { if (actor == null || actor.Length <= 0) { throw new MissingAttrException("actor"); } if (convid == null || convid.Length <= 0) { throw new MissingAttrException("convid"); } if (status == null || status.Length <= 0) { throw new MissingAttrException("status"); } HConvState convState = new HConvState(); convState.SetStatus(status); HMessage message = BuildMessage(actor, "hConvState", convState, mOptions); message.SetConvid(convid); return(message); }