Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 21 for PubSub (0.05 sec)

  1. internal/pubsub/pubsub.go

    func (ps *PubSub[T, M]) Publish(item T) {
    	ps.RLock()
    	defer ps.RUnlock()
    	for _, sub := range ps.subs {
    		if sub.types.Contains(Mask(item.Mask())) && (sub.filter == nil || sub.filter(item)) {
    			select {
    			case sub.ch <- item:
    			default:
    			}
    		}
    	}
    }
    
    // Subscribe - Adds a subscriber to pubsub system
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Feb 06 16:57:30 UTC 2024
    - 5.2K bytes
    - Viewed (0)
  2. cmd/consolelogger.go

    	"github.com/minio/minio/internal/pubsub"
    	"github.com/minio/pkg/v3/logger/message/log"
    	xnet "github.com/minio/pkg/v3/net"
    )
    
    // number of log messages to buffer
    const defaultLogBufferCount = 10000
    
    // HTTPConsoleLoggerSys holds global console logger state
    type HTTPConsoleLoggerSys struct {
    	totalMessages  int64
    	failedMessages int64
    
    	sync.RWMutex
    	pubsub   *pubsub.PubSub[log.Info, madmin.LogMask]
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 5.5K bytes
    - Viewed (0)
  3. internal/grid/trace.go

    type TraceParamsKey struct{}
    
    // traceRequests adds request tracing to the connection.
    func (c *Connection) traceRequests(p *pubsub.PubSub[madmin.TraceInfo, madmin.TraceType]) {
    	c.trace = &tracer{
    		Publisher: p,
    		TraceType: madmin.TraceInternal,
    		Prefix:    "grid",
    		Local:     c.Local,
    		Remote:    c.Remote,
    		Subroute:  "",
    	}
    }
    
    // subroute adds a specific subroute to the request.
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sat Jun 01 05:17:37 UTC 2024
    - 4.1K bytes
    - Viewed (0)
  4. cmd/bootstrap-messages.go

    	bs.mu.RLock()
    	for _, i := range bs.info {
    		traceInfo = append(traceInfo, i)
    	}
    	bs.mu.RUnlock()
    
    	return traceInfo
    }
    
    func (bs *bootstrapTracer) Publish(ctx context.Context, trace *pubsub.PubSub[madmin.TraceInfo, madmin.TraceType]) {
    	for _, bsEvent := range bs.Events() {
    		if bsEvent.Message != "" {
    			select {
    			case <-ctx.Done():
    			default:
    				trace.Publish(bsEvent)
    			}
    		}
    	}
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 23 10:07:06 UTC 2023
    - 1.7K bytes
    - Viewed (0)
  5. cmd/globals.go

    	// global Trace system to send HTTP request/response
    	// and Storage/OS calls info to registered listeners.
    	globalTrace = pubsub.New[madmin.TraceInfo, madmin.TraceType](8)
    
    	// global Listen system to send S3 API events to registered listeners
    	globalHTTPListen = pubsub.New[event.Event, pubsub.Mask](0)
    
    	// global console system to send console logs to
    	// registered listeners
    	globalConsoleSys *HTTPConsoleLoggerSys
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Sep 03 18:23:41 UTC 2024
    - 16.2K bytes
    - Viewed (0)
  6. internal/grid/manager.go

    	Outgoing     func(n int64) // Record outgoing bytes.
    	BlockConnect chan struct{} // If set, incoming and outgoing connections will be blocked until closed.
    	RoutePath    string
    	TraceTo      *pubsub.PubSub[madmin.TraceInfo, madmin.TraceType]
    	Dialer       ConnDialer
    	// Sign a token for the given audience.
    	AuthFn AuthFn
    	// Callbacks to validate incoming connections.
    	AuthToken ValidateTokenFn
    }
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Mon Jul 29 18:10:04 UTC 2024
    - 10.6K bytes
    - Viewed (0)
  7. cmd/event-notification.go

    	"net/url"
    	"runtime"
    	"strings"
    	"sync"
    
    	"github.com/minio/minio/internal/crypto"
    	"github.com/minio/minio/internal/event"
    	xhttp "github.com/minio/minio/internal/http"
    	"github.com/minio/minio/internal/pubsub"
    	"github.com/minio/pkg/v3/policy"
    )
    
    // EventNotifier - notifies external systems about events in MinIO.
    type EventNotifier struct {
    	sync.RWMutex
    	targetList     *event.TargetList
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Jun 21 22:22:24 UTC 2024
    - 7.7K bytes
    - Viewed (0)
  8. cmd/listen-notification-handlers.go

    	"encoding/json"
    	"net/http"
    	"strconv"
    	"time"
    
    	"github.com/minio/minio/internal/event"
    	"github.com/minio/minio/internal/grid"
    	"github.com/minio/minio/internal/logger"
    	"github.com/minio/minio/internal/pubsub"
    	"github.com/minio/mux"
    	"github.com/minio/pkg/v3/policy"
    )
    
    func (api objectAPIHandlers) ListenNotificationHandler(w http.ResponseWriter, r *http.Request) {
    	ctx := newContext(r, w, "ListenNotification")
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 6K bytes
    - Viewed (0)
  9. internal/pubsub/mask.go

    package pubsub
    
    import (
    	"math"
    	"math/bits"
    )
    
    // Mask allows filtering by a bitset mask.
    type Mask uint64
    
    const (
    	// MaskAll is the mask for all entries.
    	MaskAll Mask = math.MaxUint64
    )
    
    // MaskFromMaskable extracts mask from an interface.
    func MaskFromMaskable(m Maskable) Mask {
    	return Mask(m.Mask())
    }
    
    // Contains returns whether *all* flags in other is present in t.
    func (t Mask) Contains(other Mask) bool {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Jul 05 21:45:49 UTC 2022
    - 1.3K bytes
    - Viewed (0)
  10. internal/pubsub/pubsub_test.go

    // GNU Affero General Public License for more details.
    //
    // You should have received a copy of the GNU Affero General Public License
    // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    package pubsub
    
    import (
    	"testing"
    	"time"
    )
    
    func TestSubscribe(t *testing.T) {
    	ps := New[Maskable, Mask](2)
    	ch1 := make(chan Maskable, 1)
    	ch2 := make(chan Maskable, 1)
    	doneCh := make(chan struct{})
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 14 17:11:51 UTC 2024
    - 5.8K bytes
    - Viewed (0)
Back to top