1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.ftp.core.config;
21
22 import io.netty.handler.traffic.GlobalChannelTrafficShapingHandler;
23 import org.waarp.common.file.DataBlock;
24
25 import java.util.concurrent.ScheduledExecutorService;
26
27
28
29
30 public class FtpGlobalTrafficShapingHandler
31 extends GlobalChannelTrafficShapingHandler {
32
33 public FtpGlobalTrafficShapingHandler(final ScheduledExecutorService executor,
34 final long writeGlobalLimit,
35 final long readGlobalLimit,
36 final long writeChannelLimit,
37 final long readChannelLimit,
38 final long checkInterval,
39 final long maxTime) {
40 super(executor, writeGlobalLimit, readGlobalLimit, writeChannelLimit,
41 readChannelLimit, checkInterval, maxTime);
42 }
43
44 public FtpGlobalTrafficShapingHandler(final ScheduledExecutorService executor,
45 final long writeGlobalLimit,
46 final long readGlobalLimit,
47 final long writeChannelLimit,
48 final long readChannelLimit,
49 final long checkInterval) {
50 super(executor, writeGlobalLimit, readGlobalLimit, writeChannelLimit,
51 readChannelLimit, checkInterval);
52 }
53
54 public FtpGlobalTrafficShapingHandler(final ScheduledExecutorService executor,
55 final long writeGlobalLimit,
56 final long readGlobalLimit,
57 final long writeChannelLimit,
58 final long readChannelLimit) {
59 super(executor, writeGlobalLimit, readGlobalLimit, writeChannelLimit,
60 readChannelLimit);
61 }
62
63 public FtpGlobalTrafficShapingHandler(final ScheduledExecutorService executor,
64 final long checkInterval) {
65 super(executor, checkInterval);
66 }
67
68 public FtpGlobalTrafficShapingHandler(
69 final ScheduledExecutorService executor) {
70 super(executor);
71 }
72
73 @Override
74 protected final long calculateSize(final Object msg) {
75 if (msg instanceof DataBlock) {
76 return ((DataBlock) msg).getByteCount();
77 }
78 return super.calculateSize(msg);
79 }
80
81 }