Example #1
0
        private void RelayInvalidShare(InvalidShare invalidShare)
        {
            try
            {
                var flags = (int)RelayInfo.WireFormat.ProtocolBuffers;

                using (var msg = new ZMessage())
                {
                    // Topic frame
                    msg.Add(new ZFrame(invalidShare.PoolId));

                    // Frame 2: flags
                    msg.Add(new ZFrame(flags));

                    // Frame 3: content type
                    msg.Add(new ZFrame(RelayContentType.InvalidShare.ToString()));

                    // Frame 4: payload
                    using (var stream = new MemoryStream())
                    {
                        Serializer.Serialize(stream, invalidShare);
                        msg.Add(new ZFrame(stream.ToArray()));
                    }

                    pubSocket.SendMessage(msg);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }
        public async Task InsertAsync(IDbConnection con, IDbTransaction tx, InvalidShare share)
        {
            logger.LogInvoke();

            if (String.IsNullOrEmpty(share.Miner) ||
                String.IsNullOrEmpty(share.PoolId) ||
                share.Created == null)
            {
                logger.Debug("Not storing invalid share.");
                return;
            }

            var mapped = mapper.Map <Entities.InvalidShare>(share);

            var query = "INSERT INTO invalid_shares(poolid, miner, worker, created) " +
                        "VALUES(@poolid, @miner, @worker, @created)";

            await con.ExecuteAsync(query, mapped, tx);
        }