private Message CreateMessage(string name, ulong requestId, JArray json, byte[] blob = null) { ulong id = (ulong)Interlocked.Add(ref _lastMessageId, 2); return new Message(id, requestId, name, json, blob); }
public EvaluationRequest(RHost host, string expression, REvaluationKind kind, out JArray message) { Expression = expression; Kind = kind; var nameBuilder = new StringBuilder("="); if (kind.HasFlag(REvaluationKind.Reentrant)) { nameBuilder.Append('@'); } if (kind.HasFlag(REvaluationKind.Cancelable)) { nameBuilder.Append('/'); } if (kind.HasFlag(REvaluationKind.BaseEnv)) { nameBuilder.Append('B'); } if (kind.HasFlag(REvaluationKind.EmptyEnv)) { nameBuilder.Append('E'); } if (kind.HasFlag(REvaluationKind.NoResult)) { nameBuilder.Append('0'); } MessageName = nameBuilder.ToString(); expression = expression.Replace("\r\n", "\n"); message = host.CreateMessage(out Id, MessageName, expression); }