Example #1
0
 public void onConnected(ITransformContext ctx, object data)
 {
     Task.Run(() => {
         var current = Next;
         while (current != null)
         {
             current.Resolver.onConnected(ctx, data);
             current = current.Next;
         }
     }).ContinueWith(task => {
         task.Exception?.printStackTrace();
     }, TaskContinuationOptions.OnlyOnFaulted);
 }
Example #2
0
 public void onReadReady(ITransformContext ctx, ByteBuffer buf)
 {
     Task.Run(() => {
         var current = Next;
         while (current != null)
         {
             current.Resolver.onReadReady(ctx, buf);
             current = current.Next;
         }
     }).ContinueWith(task => {
         task.Exception?.printStackTrace();
     }, TaskContinuationOptions.OnlyOnFaulted);
 }
        public override void onConnected(ITransformContext ctx, object data)
        {
            //Handshake
            var tmpUid  = (long)(1e14 + 2e14 * new Random().NextDouble());
            var payload = "{ \"roomid\":" + channelId + ", \"uid\":" + tmpUid + "}";
            var bytes   = factory.packSimple(PacketMsgType.Handshake, payload);

            try {
                ctx.writeAndFlush(bytes);
            } catch (Exception e) {
                e.printStackTrace();
                ctx.close();
                return;
            }
            //Heartbeat
            Task.Run(async() => {
                var errorTimes = 0;
                var ping       = factory.packSimple(PacketMsgType.Heartbeat, payload: string.Empty);
                while (ctx.isActive())
                {
                    try {
                        ctx.writeAndFlush(ping);
                        "Heartbeat...".toConsole();
                        await Task.Delay(30000);
                    } catch (Exception e) {
                        e.printStackTrace();
                        if (errorTimes > retryTimes)
                        {
                            break;
                        }
                        ++errorTimes;
                    }
                }
                ctx.close();
            }).ContinueWith(task => {
                task.Exception?.printStackTrace();
            });
        }
Example #4
0
 public virtual void onReadReady(ITransformContext ctx, ByteBuffer buf)
 {
 }
Example #5
0
 public virtual void onConnected(ITransformContext ctx, object data)
 {
 }
 public override IMethodDefOrRef Transform(IMethodDefOrRef token, ITransformContext context) => token.GetLeafMethod() is IHasCustomAttribute hasAttr && hasAttr.IsBaseDependency() ? InjectBase(context) : importer.Import(token) is IMethodReference <IMethodDefOrRef> imported?context.SearchContext.Get(imported) : token;
 public override CorLibTypeSig Transform(CorLibTypeSig token, ITransformContext context) => context.SearchContext.Get(importer.Import(token));
 public override IField Transform(IField token, ITransformContext context) => importer.Import(token) is IFieldReference <IField> imported?context.SearchContext.Get(imported) : token;
 public virtual ITypeDefOrRef Transform(ITypeDefOrRef token, ITransformContext context) => token;
 public override ITypeDefOrRef Transform(ITypeDefOrRef token, ITransformContext context) => importer.Import(token) is ITypeReference <ITypeDefOrRef> imported?context.SearchContext.Get(imported) : token;
 public virtual MethodSig Transform(MethodSig token, ITransformContext context) => token;
 public override void onReadReady(ITransformContext ctx, ByteBuffer buf)
 {
     factory.setWorkFlow(buf);
 }
 public virtual TypeSig Transform(TypeSig token, ITransformContext context) => token;
 public virtual IMDTokenProvider Transform(IMDTokenProvider token, ITransformContext context) => token;
 public virtual IMethodDefOrRef Transform(IMethodDefOrRef token, ITransformContext context) => token;
 public virtual IField Transform(IField token, ITransformContext context) => token;
 public virtual CorLibTypeSig Transform(CorLibTypeSig token, ITransformContext context) => token;
 public override void onRead(ITransformContext ctx, ByteBuffer buf)
 {
     factory.fireUnpack();
 }
 /// <summary>The map.</summary>
 /// <param name="context">The context.</param>
 /// <returns>The <see cref="SampleInternalRequest" />.</returns>
 public SampleInternalRequest Map(ITransformContext <SampleClientRequest, SampleInternalRequest> context)
 {
     return(new SampleInternalRequest {
         Filter = context.Source.Query
     });
 }